setting access to one-time products

This site has two types of clients: 1) ongoing subscribers at various levels and 2) one time products that people can buy. Sometimes a particular user will be a combination of the two.

My question is how to handle the one time products. Do I set up an access level for each product and a subscription for each? That seems cumbersome. Any other ways to do it?

Can I set them up and have them available for a date range versus a number of days? The reason is that these products are date specific so we don’t want them to have access to the same product the following year but they can buy it within the entire year.