Jin 2,
События всплывают по иерархии.
Не надо их десять раз обрабатывать.
Относительно примера, когда по событию в объекте D нужно что-то делать в объекте А:
- объект А - контроллер
- объект В - локация
- объект С - перс в локации
- объект D - контекстное меню, которое всплыло по клику на перса, с кнопкой, по которой нужно закрыть текущую локацию, открыть новую и поместить туда перса
В итоге:
- обрабатываем в объекте D кнопку контекстного меню, пакуем в событие информацию для контроллера и отправляем наверх.
- объект А (контроллер) получает событие, закрывает текущую локацию, открывает новую и помещает туда перса
об этом речь?
Ну а если нужно что-то более простое и неправильное, то используйте parent.
Тут периодически проходят даже куски кода вроде

Код AS3:
parent.parent.parent.mySuperFunction();
Говорят, работает.