I want to make a custom site for certain types of users who sign up to my site.
This site needs, in itself, a subsite.
How could I achieve this? Is a custom site definition able to do this? Thanks
You could always deploy the site schemas as two separate features, making the parent site a feature dependency for the sub-site. When you provision the site(s), create the parent site first, then create the subsite within it.
I'd suggest looking at the PortalProvisioningProvider, which will allow you to define a site hierarchy.
The following links are for 2007, but there should be something similar for 2010.
http://msdn.microsoft.com/en-us/library/ms566017(v=office.12).aspx
http://blog.brianfarnhill.com/2008/11/10/using-the-portalprovisioningprovider/