Hi,
I'm not sure I understand you point 3. Why the address email and not the user account's level ?
In your case, here is what I would do:
create a specific user group for your members. You can do that in joomla 1.6 or 1.7 directly. On 1.5 you need to use DJF ACL.
create a "membership" product and set that group in the option "User group after purchase".
For your tickets, either restrict the access level to that product, or the prices.
That will do what you want. However, I see I problem with that:
There is no subscription system in HikaShop. Which means that once 1 year passes, nothing will happen as there is no system to put back the user in the non members group. For the reminder, you could use our integration with acyMailing in order to send a reminder using auto filters in their Enterprise edition. So you would have to build a plugin change the user group when the subscription runs off, if you need that.