В админке создать страницу, на которой был бы полный список всех использованных на сайте компонентов с указанием использованных шаблонов.
Зачем это нужно - часто нужно понять, используется ли на сайте какой-то шаблон или кастомный компонент - может, он уже мертвый груз и стоит его удалить?
С точки зрения ничего сложного не вижу - создать табличку БД с колонками для названия компонента, шаблона, пути подключения, а при каждом выполнении функции IncludeComponent добавлять запись в БД, выполняя проверку на уникальность перед добавлением. А в админке отображение этой таблицы + кнопка очистки таблицы.
Чтобы не замедлять сайт, можно вести такую статистку только в режиме отладки сайта.
Идея хорошая, но тут только перебором публичной части и шаблонов действовать. Сканирование то бишь.
Я тоже сначала предполагал предложить статический анализ кода, но бывают такие проекты, в которых шаблон выбирается на основе данных из сессии, кук, параметров отправленных на страницу и вычислить его нельзя.
Может, скомбинировать оба метода?
PS: Я не спорю, иногда без переменной-имени шаблона никуда, но это крайне редкая задача. А если она возникает часто, лучше пересмотреть задачу еще раз.