Asi es gatos_array = []; es la definicion de un array tambien puede ser gatos_array = new Array();
Bueno ese es otro tema....
Pues si, en el Ejemplo anterior cree un par de Objetos dichos objetos contenian diversas "propiedades", Los meti dentro de un array "gatos_array"..
Siendo que AS aun no es un lenguaje tan Robusto en comparacion de otros (Aunque no le pide nada a nadie... ) creas Objetos en lugar de Tipos de datos... ¿Me explico?
Ahora siguiendo tu ejemplo de 500 registros mediante un For creas dichos objetos y los vas metiendo a un array mediante Push y al final podras acceder a ellos como
mi_array[255].id
mi_array[255].nombre
mi_array[255].apellido
mi_array[255].edad..
Queda Claro?
Ahora la complejidad para crear dichos objetos depende en gran medida de como los vas a importar a Flash, ya sea mediante Variables individuales, XML etc...
Saludos!!