Thanks guys for the suggestions!
The only problem I see with this is if I want to offer a product which I normally charge a certain amount for, I will need to to have a duplicate of which and set it as free.
I'm just wondering, what are the pros and cons of either of the two solutions? One thing I see in the "set billing cycle to free account" solution is, since obviously I will set the product as hidden, there is a danger of someone entering the URL manually (since the ID key of each product is easily guessable) and register for it (well, of course, you would probably be screening new product registrations, but still... )