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.