Reverse Recursive CTE to find Parent value

There may be a way to do this where you're not recalculating the path every time. How many nodes are in your hierarchy and how often is the hierarchy updated?