User Role Selection and Profile Fields
You could use Profile2 to get you started. It will allow you to assign profile fields to roles and have them available upon registration. You could then use jQuery to display the proper register form on selection.