Different approval for different user accounts
I have not used any module that can provide this kind of control.  What you can do is for the  second option create your own form and from backend create the user on form submit after proper validation.