How to build a multipage form using Freeform?
Actually, the templates that are provided in the docs over here are a pretty good place to start. You can change the markup, but you need the javascript:; tag in the a href=to get the multi-steps working.

Like any other form, I would suggest that you use some front-end validation. There are some nice libraries out there that get you up and running pretty quickly. 

Are there any specifics you're struggling with?