Te comento como trabaja el menu de mi sistema y talvez saques algo en limpio.
Todo el menu del sistema mio esta guardado en una base de datos, se inicia cuando arranca el sistema (una sola vez) y los submenues en el momento que se solicita.
Cada terminal dispone de su menu, (Administracion, por Ej no accede a facturacion, etc), esto es facil ya que levanto el menu segun el usuario y password. Disponer una clave para el item tambien es sencillo, ya que si levantas el item o el submenu de una base de datos, mediante una variable, detectas si el acceso es libre o por password, es mas podes indicar password de lectura o lectura/escritura (yo lo tengo asi).
Tambien dispongo de "teclas rapidas", CTROL+S abro la ventana de Articulos estando en cualquier parte de la pantalla principal.
A mi me resulto muy satisfactorio el guardar informacion sobre los menues en dbf, ya que me encontre que los objetos de control tenian poco lugares donde controlen variables, de esta manera, no tenes problemas.
Espero haberte dado alguna idea al respecto.
Saludos
Cesar