Hey Eric,
Yes, absolutely this is possible. This has more to do with your payment processor than LimeLM, but you can use LimeLM to simplify the process.
For example, one way to do things is when a user is purchasing version 2.0 of your app you can prompt them to see if they have a product key for version 1.x of your app. If they do, then you can apply a discount to their purchase.
So how do you check if the product key or email they supply is for an existing user? (That is, how can you tell if they're telling the truth?) Use the web API. These are the 2 functions that will be of the most use to you:
Does that make sense?