Путь построить придется все равно - тут я немного ошибся в предыдущем сообщении.
Но thread_id поможет ограничить кусок дерева, который мы вынимаем. Либо заняться денормализацией дальше и писать в отдельное поле полный путь к узлу от корня (его надо будет пересчитывать при изменении дерева).