buenas,
mas o menos lo estabas logrando. fijate que la sintaxis para accesar propiedades tiene dos formas: mediante el operador "accesor" -el punto- o mediante un par de corchetes. es posible crear una expresión completamente a base de corchetes. en ese caso, el operador accesor no se utiliza. simplemente debes continuar con otro par de corchetes.
object[property][property]... es más o menos lo que estas haciendo en el segundo ejemplo, solo que tienes un punto.
y para ayudarte a diferenciarlos, nótese que el tercer ejemplo
object[property[innerProperty]], en realidad esta diciendo
accesar una propiedad (innerProperty) de un objeto (property). o sea, traducido en el ejemplo, estas accesando una propiedad del argumento
formulario y el resultado es lo que se le pasa al par de corchete exterior. por tanto, no es lo mismo que
object[property][property].