помоему, можно отовсюду обращаться к статическим свойствам классов по их названию а не через ссылки на их экземпляры(обьекты).
Если в документклассе ты создал, например, 2 экземпляра(обьекта) други классов:

Код:
// код в документ классе
var myDog:Dog = new Dog();
var myCat:Cat = new Cat();
// код Dog
public static var myProperty:String;
// код Cat
Dog.myProperty = "Дуся"
trace(Dog.myProperty)
вроде как то так. Но при этом это свойство будет тотчас изменено у всех экземпляров класса.
А вообще если это оба класса синглетоны(почитай статью на ГарбиджКоллекторе) то у них например в конструкторе может быть зашит статический линк на их единственный экземпляр как я понял(но пока сомниваюсь =))
То есть

Код:
// код в документ классе
var myDog:Dog = new Dog();
var myCat:Cat = new Cat();
// код Dog
public static var instance:Dog;
public var myProperty;
public function Dog() {
myProperty = "Фрося"
instance = this;
}
// код Cat
trace(Dog.instance.myProperty);
Dog.instance.myProperty = "Дуся";
trace(Dog.instance.myProperty);
ща ещё сам не до конца разобрался. Если что, надеюсь etc поправит.
Кстати вопрос по этой же теме:
А что если это не синглетоны и у меня с полсотни экземпляров? как мне тогда обращаться к их свойствам из соседних классов? Только через ссылки в конструктор? Например такая ситуация

Код:
// код в документ классе
for(var i=0; i<2000; i++) {
this["myDog_"+i] = new Dog();
}
// код Cat
/*
как мне от суда прообращаться ко всем моим Dog?
*/
или таких ситуаций следует избегать?