nop, vas a tener solo 20 variables una por cada pregunta que asocias, recuerda que cuando usas checbox, estos se deben de llamar igual para que puedas obligar al usuario a que seleccione una sola opcion, lo que tu me dices no es correcto.
yo hago esto,
<td width="137" class="body Estilo14"><input name="resp_<%=y%>" value="<%=valor1(y)%>" type="radio" <%if resp(y)=valor1(y) then%> checked="checked" <%end if%>><input name="valor1_<%=y%>" type="hidden" value="<%=valor1(y)%>"><%=opcion1(y)%><input name="opcion1_<%=y%>" value="<%=opcion1(y)%>" type="hidden"></td>
mi objeto se llama resp_ y a este le asigno un numero consecutivo que genero automaticamente, esto solo para reconocerlo como si fuera un arreglo, aunque eso realmente no existe, y con esto solo le digo que me almacene loq ue tiene resp en la posicion 1 por eejmplo que seria de la pregunta 1 hasta la 20, en tu caso, y eso es lo que vas a mandar a la base de datos.
en la parte superior de la pagina hago el request de las variables a traves de un ciclo que va desde el 1 hasta el 20 para saber que fue loq ue el usuario eligio y guardarlo
y=1
do while y<=x
idpregunta(y)=request("idpregunta_"&y)
pregunta(y)=request("pregunta_"&y)
resp(y)=request("resp_"&y)
y=y+1
loop
espero te sirva cualquier duda me avisas