Hola:
Si el form no tiene nombre y es el primero, se referencia como document.forms[0], pero si tiene nombre, para el nombre "formulario se referencia:
document.formulario
...o...
document.forms.formulario
...o...
document.forms["formulario"]
...incluso vale
document["forms"].formulario
La idea es que entre corchetes no solo vale poner el índice, sino una cadena que represente el objeto que sea... en los formularios vale tanto el índice como el nombre... y los controles de los formularios también pueden ponerse entre corchetes... y la condición es la misma... o sea que si el nombre tiene corchetes, no se me ocurre otra forma de referenciarlos que como una cadena con sus propios corchetes... o sea que para el caso de el primer formulario o el que tenga como nombre "formulario", el primer campo con nombre "nombre[]" se referencia así:
document.forms.formulario["nombre[]"][0]
...o...
document.forms[0]["formulario"]["nombre[]"][0]
Saludos