Нет проблем с доступом по идентификатору. Это предпочтительный метод, поскольку путь может меняться легче, чем идентификатор. Автор с большей вероятностью переименует или перемещает элемент (или предок), чем он должен удалить и воссоздать.
Обычно у нас есть один элемент для каждой установки (или иногда на сайт), содержащий много полей treelist, которые указывают на другие ключевые элементы (например, страницу результатов поиска, другие параметры настроек и т. Д.). Мы сохраняем идентификатор для этого элемента глобальных ссылок int config file, а затем настраиваем для него класс модели с использованием Glass Mapper или Custom Item Generator. Это позволяет нам получить хороший синтаксис следующим образом:
var searchPage = ClientName.Configuration.Settings.GlobalLinks.SearchResultsPage;
Подход Бена тот же, что мы используем с нашими командами. Кроме того, поскольку вы используете TDS, вы можете использовать шаблон генерации T4 для генерации ваших классов или идентификаторов на основе элементов, контролируемых источником в вашем проекте TDS. –