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].  
