№1 - не совсем понял вопроса, но навярняка visible.
№2 - если элементов много, то вызов метода - смерть . В АС3 это особенно заментно. В больших циклах нужно избегать indexOf();
№3 - В АС3 самый быстрый цикл

Код:
var i:int = 0
while(i<9999999)
{
// statements
i+=1 // именно i+=1
}
засчёт типизации в АС3 наблюдается афигенное ускорение. В АС2 разницы не замечал.
№4 - свойства объекта или элементы массива - разницы в АС2 нет. Лучше проверять свойства экземпляра класса (в ас3 у экземпляров классов будет многократное ускорение).
В больших циклах я стараюсь избегать использование методов и .... массивов =)
код

Код:
obj.x+=1 // где obj - экземпляр класса, в котом объевлен член x
// с точным типом var x:Number;
В АС3, сработает на порядок быстрее, чем

Код:
obj['x']+=1 // где obj , массив
В АС1/2 разницы нет.
З.Ы. - В АС2 все объекты -нетипизированные массивы. Поэтому большого смысла в такой оптимизации нет.