Hey Matt,
1. You can use custom Javascript to prevent the user from advancing to the next page and submitting the form without filling out all fields, however this will still create a lead record if they do not fill out all of the fields. If you wanted you could create a data cleanup smart campaign to delete leads that came from that set of forms if they did not fill out their information completely.
2. This is beyond Marketo's scope, and is something to interface with your website team on, they should be able to create this functionality for you.
3. Yes and No, it depends entirely on what you want to accomplish here. Without knowing more about what exactly you want to accomplish, I can't make a good reccomendation.