No, forms es una array que contiene todos los formularios del documento en cuestión. Hay algunos otros como images, el cual contiene todas las imágenes del documento. Mira:
https://developer.mozilla.org/en/DOM...ent#Properties
El por que va entre corchetes es simple. Estas pasando un string como parámetro a tu función, de modo que si quieres usar la notación punto, al final te queda esto:
document.form.'formulario1'.submit();
Eso no funciona por que formulario1 es un string y no un objeto. Estoy seguro que te tiraba algún error sobre que formulario1.submit no existía o algo parecido.
Usando los corchetes te quedas con esto:
document.form['formulario1'].submit();
Lo cual es la forma correcta de acceder a los elementos de un array asociativo. En este caso el hecho de que tengas que usar un string como parametro te obliga a usar corchetes para acceder al objeto formulario1 de forms.
Por otro lado, me pregunto, Por que usar enlaces y no botones submit comunes? Eso es una mala practica. Que crees que pasará si el Js está desactivado? Recuerda usabilidad y accesibilidad son primero.