Потому что переменная name записывается в скоуп контроллера child1Controller и перекрывает name от mainController, это можно обрулить если использовать "имена с точкой"
1) Лучше всего использовать готовую диреткиву для этого, под bootstrap она должна быть.
2) С датами лучше оперировать типом Date а не в строковом.
3) triggerHandler - это ангуляроская мулька, сделайте нормальное js событие - new Event('change') и dispatch его в элемент, тогда модель должна среагировать.
Ангуляр кеширует шаблоны, кроме этого ещё и браузер кеширует запросы.
А для данных нужно использовать уникальные урлы, либо помечать как не кешируемые, либо использовать не кешируемые запросы post/put или websockets. $http должен с этим помочь.
selectElement.selectedIndex = 0
Так же если изменить innerHTML select элемента (например добавить/удалить option) динамический, то первый элемент становится выбранным.