Yeah, use the tree_sortkey approach in PG, "connect by" in Oracle.
The PG triggers (written by Dan Wickstrom) can easily be replicated for any table, check out acs_objects or content_items or any other tree-oriented structure in the system for examples.
The current approach based on BIT VARYING is very efficient and makes full use of indexes.
I need to find time to properly document these, grrr ... at the moment your best bet is to read my comments in acs-kernel/sql/postgresql/postgres.sql and to look at examples.