Lower levels of trust are more secure. The tradeoff is that they also severely restrict what your users are able to do. If your free hosting is only intended to support extremely vanilla sites, then low should be fine. You can look in the system web.config files to see the exact differences from one trust level to another.
Creating and managing user accounts is easy, particularly with .NET 3.5, where you can use the AccountManagement library. Here's a link to a page with some example code:
http://www.codeproject.com/KB/system/usingAccountManagement.aspx
You would probably also want to assign all of your free users to a common group, to help ease certain management aspects.
BTW, another cool feature that you might want to use if you intend to support both free and paid sites is Windows System Resource Manager (WSRM). It comes with Windows 2008, and can allow you to limit the CPU time used by certain groups of users/AppPools/etc.