The best way to get the functionality you described is to write your multi-step, multi-page form. Use a hidden variable or multiple submit buttons to determine which step should be moved to next. On each submit, have a script store the newly submitted form data to a session variable. Once the form is complete, validate the data in the session variable and then do whatever you want with it, like send your e-mail or write the information to a database.
Saving a form would require that you write the current set of data to some kind of storage mechanism, preferably a database.
I'm not sure how much coding experience you have, but this will likely be something you'll have to code on your own. You might be able to find one on the internet somewhere. I can give you a bit of assistance if you need it.