Maybe I’m totally missing Your point here, but as I know there is no need to assign/deassign users to the Navigation Pane(s).
If someone else is wiser, please correct me.
The Navigation Pane is dynamically “modified” according to the security set up in the Database.
e.g.
If a user are allowed to read the G/L Account table, then the Chart of Accounts will be in the Navigation Pane when that user logs in, if the user are not allowed to read the G/L Account table, then the Chart of Accounts will not be there.
So my answer to Your question will be to create some special Roles, and assign them to the users.
Then future “modifications” to the Navigation Pane can be done only by modifying the Roles.
I am having this problem as well, and as your answer appears to be correct logically, it is cumbersome in practice.
I have a menu for our salespeople that is purely built for reporting. This means they can read plenty of tables in the system that they need for reporting purposes. This does not mean I want them to have the Sales menu section… From a programmer perspective you may say “this is not proper!” but business practice needs overrule back end best practice. I think the inability to control menu assignment directly in a different way is a missing feature.