When I needed this I built a package called office and used the site map to model the organization. I associated a group with each office and created an employee rel type to make people employees.
If you use package parameters and rel type attributes to store the data you have a (primitive) gui. You can also use the tcl package callbacks to create the group when you mount a package.
The advantages are you can model any depth and the context bar will help you navigate. You can also use the permission system to control access. And it's easy to extend and customize.
The only real drawbacks are; you end up with a lot of site_nodes and package parameters are not stored in an easily searchable way (but they are cached)