Поэкспериментировал и набросал прототип. Все же решил сделать отдельную аннотацию для контроллеров, если трейт её встречает, то также как и в Javafx в имени поля заложено id: idController, "Controller" выбрасывается, по id в текущем xml ищется контейнер в который нужно грузить дочерний xml. Тут вопрос как лучше формировать путь до xml, пока также по id.xml в дефолтной папке, но для вложенных директорий будут проблемы, хз, но вроде у Glade нет каких-то полей у контролов, который бы подходили для передачи пути, разве что имя виджета, для чего оно там используется. Xml грузится, рутовый элемент загружается в родительский контейнер, сам контроллер создается фабричным методом выше, инициализируется службами и точно также контролы разбираются на поля, но только из его xml, добавляется ссылка на родительское окно и он становится в поле idController. Тут есть вопрос, как из gtk.Builder удобно получать рутовый узел, итерацией, по имени "root" или еще как-то. Но вроде как работает, насколько я понимаю, у Glade нет подобного инклюдинга, а то может я зря стараюсь.