Вот если кому нужно будет.
Функция поиска Объекта в контейнере без использования РЕКУРСИИ, с минимумом запусков функций(т.к функция дорогая для Flash), и с фиксированным Вектором всего на 2 элемента.

Код AS3:
public static function searchByNameDO1( owner: DisplayObjectContainer, name: String ): DisplayObject
{
trace("Вход");
var first:MovieClip = new MovieClip();
first.name = 'null';
first.addChild(owner);
if( owner == null ) return null;//Проверяем основной контейнер на пустоту
var stackIdx:Vector.<uint> = new Vector.<uint>(2);
var lastElVec:uint = 0;//указатель на последний элемент вектора
var currContainer:DisplayObject = owner;
var curChildIndex:int = 0;//счетчик углубленности в контейнере
trace("curr=", currContainer.name );
do
{
// Имитация захода внутрь
if( currContainer is DisplayObjectContainer )
{
trace("currContainer is DisplayObjectContainer, curChildIndex="+curChildIndex);
// идем внутрь
if( curChildIndex < (currContainer as DisplayObjectContainer).numChildren )
{
lastElVec++;//перетаскиваем указатель Вправо
stackIdx[lastElVec] = curChildIndex;//stackIdx.push( curChildIndex );
currContainer = (currContainer as DisplayObjectContainer).getChildAt( curChildIndex );
curChildIndex = 0;
trace("идем внутрь", currContainer.name );
continue;
}
}
// проверка на доститжение результата
trace( "проверка на доститжение результата" );
if( currContainer.name == name ) return currContainer;
// Идем наверх
// выше некуда
if( stackIdx.length == 0 )
return null;
// выше есть куда
trace("выше есть куда до:",curChildIndex);
//curChildIndex = stackIdx.pop()+1;
curChildIndex = stackIdx[lastElVec];
lastElVec--;
curChildIndex++;
trace("выше есть куда после:",curChildIndex);
currContainer = currContainer.parent;//возвращаемся к родителю
// Если мы поднялись до уровня вызова
} while ( currContainer != first );
return null;
}