Attenzione, molto Zend Framework in arrivo!
Puoi gestire facilmente 1. e 2. con Zend_Acl e Zend_Navigation .
Per il numero 3 dovrai interrogare l'oggetto ACL nel tuo modello e fare molte cose a mano. Puoi utilizzare Zend Framework anche per i moduli e includere validatori di elementi di modulo specifici a seconda dell'autorizzazione del ruolo degli utenti.
MODIFICA:
Se non hai voglia di seguire la rotta ZF, puoi almeno dare un'occhiata a come viene gestito l'ACL in ZF.