Frank, I think I now understand your question better. I agree with your disdain of globals, but unfortunately, WordPress makes extensive use of them for many different purposes. There is no "nicer" class object or similar structure underlying the backend menus. The variable arrays you have identified is all there is.
Hard to believe, I know. You can see for yourself, all related files are in the wp-admin folder. The default menu arrays are defined in menu.php and includes/menu.php. menu-header.php is responsible for displaying the menus, in which you can see only the globals are used, nothing else.
There is a reason for this madness. Any arbitrary backend page can easily access, display or manipulate the menu with out having to rely on the references being passed or itself being within the proper scope to use "nicer" structures. Crude, but useful.