Попробуй отойти от массивов и прийти к Объектам
тогда и можно обратиться к элементу, незная его порядковый номер по имени.
Что то типа
_root.Obj= new Object();
_root.Obj2= new Object();
_root.Obj2=[ "John3","567","John4","5672"];
_root.Obj= {name:_root.Obj2,addr: "123",name2: "John2", addr2: "1232"}
trace(_root.Obj["addr"] add " | " add _root.Obj.name[1]);
кажется так должно работать. Возможно тебе поможет (хотя немного и не по теме

)