Object.__resolve() вас спасет, перехватываете обращение к свойству - и отдаете какое угодно значение. Типа такого

Код AS1/AS2:
MyClass.prototype.__resolve(p:Object):Object
{
if (String(p) == "someProperty") return someValue;
return undefined;
}
ЗЫ. Класс должен быть динамическим, и не наследоваться от массива - а то цифровые значения в ресолв не попадут.