Las variables de sesión se declaran en el servidor por lo que es imposible declararlas cuando el formulario está ya dibujado en el cliente. Para mandar valores de un formulario a otro tienes que usar tecnología de cliente (o sea javascript o el consabido action).
1 - El servidor toma la página solicitada (form1.asp) y
ve que es asp con lo que la ejecuta para ver si debe hacer algo antes de mandarla al cliente. En ese momento se puede declarar variables de sesión pero como no ha valores en el formulario no tiene sentido.
2 - La envía al cliente y espera respuesta.
3 - El usuario introduce en el formulario los datos (los rellena de valores). En ese momento debes usar el submit (con POST o GET) o javascript (con GET) para lanzar una nueva llamada al servidor en este caso a, por ejemplo, form2.asp
4 - El servidor recibe la llamada para form2.asp. Lee las variables de servidor (POST y/o GET, Sesions, cookies, etc) En este momento puedes usar variables de sesion:
FOR EACH item in request.Form
Session("loquehay") = Session("loquehay) & Item & "=" & request.form(item) & "|"
NEXT
A partir de aqui puedes, o bien interpretar los valores de request.Form o usar las variables de sesión.
Como puedes ver no se pueden comparar las variables de sesion (porque son del lado del servidor) y los valores que haya en request.Form (lo que el cliente envia cuando pulsa el boton de enviar). TIenes que usar botones o combinacion de teclas para producir un evento.
No se si me he explicado bien, pero en todo caso no, no se puede usar variables de sesion para enviar los datos de un formulario. (hasta que lo envies

)
Un saludo