Hola, pues yo hice algo asi pero lo que hice fué esconder o mostrar formularios dependiendo del boton que presionara... eso lo hice con javascript...mediante capas con las <div>...
Por ejemplo puedes tener algo como esto:
<form id="formulario1" name"algo">
<div id="cuestionario1">
<table>
...........
</table>
</div>
<div id="cuestionario2">
<table>
...........
</table>
</div>
</form>
En el método onload en la seccion del body puedas mandar llamar a un método (en OnLoad) en el que dispongas que divs vas a mostar inicialmente... incluso lo puedes hacer con los mismos botones(que botones aparecerán inicialmente)...
<script language="Javascript">
function mostrar(nombreCapa){
document.getElementById(nombreCapa).style.visibility="visible";
}
function ocultar(nombreCapa){
document.getElementById(nombreCapa).style.visibility="hidden";
}
</script>
Cada función recibe el nombre de cada capa y bueno pues puedes estar ahi jugando con eso...
para los botones x ejemplo, nadamás ponles un id y con esas mismas funciones los puedes ocultar o mostrar...
<input type="button" id="boton1">
De esa manera puedes estar mostrando partes del formulario sin que estes mandando los datos y perdiéndolos... por supuesto que tienes que estar haciéndo validaciones y después cuando todo este bien, mandar llamar a los métodos de ocultación y de desplegado de las otras partes...
No se si me haya explicado bien... si tienes dudas ps postea de nuevo... o tal vez alguién tiene una mejor solución... eso que te digo nadamás es una idea rápida de lo que puedes hacer pero ps puedes hacer otras cosas como guardar los datos en sessiones, o en campos ocultos que mandas de una página a otra y después los recivas y los muestre, etc....
Ha si te vas por esta opcion, los botones para ir de un lado a otro no los pongas con submit sino eso haría que mandaras datos al servidor y pierdes los datos... usa botones como los que te puse arriba más o menos asi:
<input type="button" id="boton1" OnClick"Validar()">
en el método de validar ps validas, jaja... y si todo esta bien mandas llamar a cualquiera de las funciones mostrar u ocultar, segun quieras hacer... ya cuando vayas a mandar todo el formulario entonces si usa submit y envias todo el formulario completo... al enviarlo envias todos los datos y los recibes en el servidor, weno ya tu has de saber... ojalá te sirva... adios...