Hola:
Solo apuntar algunas formas de simplificar lo que tienes...
if (formulario.opcion2[i].ckecked == true)
equivale a
if (formulario.opcion2[i].ckecked);
Y no es necesario el checkeo, ya que puedes hacer la operación OR con cada pasada del bucle:
correcto = false;
for(j=0;j<formulario.opcion2.length;j++)
correcto = correcto || formulario.opcion2[i].ckecked;
Creo que esa es la intención: con un elemento marcado se quede correcto a true y de lo contrario false...
Saludos