Very doable...but your thinking of "form" seems to need work. Your process will start a form scenario and a start "step" (aka. stage). You should/could have your generic service detect the user type and then show/hide fields you need in your form configuration as needed.So it is not so much that they are using a different form as it is the form you have will have "sections" visible or hidden depending on the user.
In a more advanced case, once the process is started and workflow takes over, you can even make use of having completely separate/different form scenarios that workflow can direct too (for example, based on some condition like "user type").In this case, you could truly have a completely different form.