I would suggest look into using our built in support for custom profile properties, you can add custom properties and make them required for registration.
If that isn't sufficient to meet your needs you could implement your own registration page in your own project and use a post build event to overwrite ours with yours, or use a different name for yours so it doesn't overwrite ours but then use a config setting to make the built in register link point to yours like this:
<add key="CustomRegistrationPage" value="/Secure/Join.aspx" />
Not overwriting would be nicer for working with the source code.
When you deploy to production you would probably want to remove our file /Secure/Register.aspx just so that no-one could figure out the site uses mojoportal and manually go to that url bypassing your custom page.
Hope that helps,
Joe