Если вы будете перебирать большие циклы, то babel с полной совместимостью может быть медленнее в 100 раз (на этих циклах), но в веб приложениях такое не часто, поэтому разница не должна быть заметна.
Видимо речь про прототипирование скоупов, там не цепочка, а дерево, с вершиной $rootScope.
Скоупы ссылаются друг на друга через ссылки: $frist, $last, $parent и т.п. можете обойти все дерево по этим ссылкам.
Если у вас происходит перерисовка, значит идентификаторы (order.id) не совпадают, проверьте что идентификаторы есть и они простого типа (число/строка).
Если большая часть идентификаторов не совпадает, то эффективней использовать track by $index.
Потому что переменная name записывается в скоуп контроллера child1Controller и перекрывает name от mainController, это можно обрулить если использовать "имена с точкой"
Ангуляр кеширует шаблоны, кроме этого ещё и браузер кеширует запросы.
А для данных нужно использовать уникальные урлы, либо помечать как не кешируемые, либо использовать не кешируемые запросы post/put или websockets. $http должен с этим помочь.