толком и не понял в чем собственно вопрос. Как вместо всего родительского объекта удалить только пару детишек внутри??
Тут целая масса вариантов.
1) Отдельные слои/теги для нужных объектов (так же лучом смотрим куда попали, только не первый попавшийся объект. а все кого луч зацепил. RaycastAll метод)
2) по прежнему попав лучом в родительский объект - просто по именам искать (если однотипные или объекты с определенным компонентом. FindChild , GetComponent и тд.
3) Наверно мой любимая вариация варианта номер 2 - на родительские однотипные объекты навесить скрипт(или разные скрипты с наследованием) аля "Инфо о здании" какой нить BuildingComponentRefs.cs ,в котором пару публичных ссылок с подставленными нужными объектами. и возможно даже пару методов для работы с ними, для упрощения себе жизни. всякие аля "Выключить всё" "Включить все" "Пометить красным" и тд и тп. Получаться префабы с уже настроенными/подставленными ссылками. и ничего искать не надо, предполагая что на родительском объекте висит этот "описывающий" скрипт (и так как ссылки подставляются ручками, то не обязательно имена и места/иерархию в префабах прям так строго соблюдать)
Но все вообще сильно упирается в начальную архитектуру приложения и то как вы там что у себя реализовали и что планируете дальше.