You can import your existing customer database and put them in a customer group other than the default.
Now you can send people their user/pass details and a coupon code.
The coupon code can be set up as one use per customer.
The coupon can also be restricted to the customer group setup for existing customers.
You will also need to explain to customers that they enter the code at the basket, not the checkout.
This way should keep it simple and not leave you open to abuse/financial loss.