TBH, there probably isn't a great way. You probably need to extend XF\AdminNavigation
and manipulate how the navigation tree is built. I'm not sure the best approach here, though it probably depends on your implementation details. You could adjust how the list is filtered and apply extra checks or you could theoretically rewrite the permission ID various links check against (by making changes to the entries array).