Hola:
Pues por lo que veo no estamos hablando de un array asociativo, sino un array (a secas)... sobre la legibilidad, los viejos rockeros hemos trabajado siempre con la primera sintaxis, así que hasta es más "familiar" para muchos (o al menos eso creo).
La definición de array asociativo creo es más apropiada para los objetos, y su definición sería similar:
miArray = {};
miArray = new Object();
Y como índice puede usarse prácticamente cualquier dato simple, así que podemos crear variables con esos caracteres especiales "a la española"...
window["pestaña"] = "Ok";
alert(pestaña);
Edito: y para recorrer se usa un for-in
for (i in miArray) alert("miArray[" + i + "] = " + miArrat[i]);
Saludos