Цикл будет нагружать карту (хоть и слабо) всё время. Триггер одинажды потратит заметное время на старте карты, потом нагружать не будет. Самый оптимизироварнный вариант — создать задачу HERO_MUST_SURVIVE, если, конечно, она с самого начала должна работать. Возможно, можно организовать автоактивацию от условий при помощи dependencies, но не знаю, как.
По поводу ошибки Invalid creature index: возможно, при отсутствии существа в i-том стеке функция GetSavedCombatArmyCreatureInfo выдаёт предупреждение. Для отлова можно добавить внутрь цикла после получения информации print(i, "-тая итерация прошла"), посмотреть, какие принты выводятся. Если выводятся в перемешку с ошибкой, то это просто варнинг, если какой-то из 7 принтов не вылез — нужно фиксить