Насчет переменных - надо прописать uses Unit1 (главная форма) в модуях Unit2,3,...N (дочерние) после implementation:
Код:
//Unit N
implementation
uses Unit1;
Тогда объявления из модуля 1 будут доступны везде, где есть такая строка.
Меню можно попробовать также замутить:
Код:
//Unit N
MenuOnFormN:=Form1.MainMenu1;
Но успех не гарантирую. Ни пробовал ни разу.