Xaip, похоже, многие особенности реализации, важные для понимания вопроса, остались за кадром. Вам стоит подробно описать логику работы всех элементов системы.
McMike: ltree примерно так и делает, в таблицу нужно будет добавить поле, которое хранить путь к корню. Правда, не в виде массива идентификаторов родителей, а в более эффективной форме.