Ciao,
cerco di rispondere alle tue domande punto per punto
1) Esatto, il layout di default lo puoi configurare usando la risorsa layout dell'application.ini
2) Utilizzo inline script in fondo in modo tale da avere la possibilità di aggiungere file e script js al fondo della pagina, in modo tale da non appesantire il caricamento del DOM.
Il js puoi salvarlo nella posizione che hai specificato ( public/js ), i files puoi caricarli utilizzando gli appositi viewHelpers, headScripts o InlineScripts http://framework.zend.com/manual/en/...mplementations .
Il consiglio che ti do sul js è di non scrivere milioni di righe in maniera procedurale che poi sono difficili da mantenere. Meglio scrivere plugin di jQuery o oggetti che si occupino di fare qualcosa di specifico.
3) Puoi benissimo utilizzare una gestione db che generi un xml ( o anche un array ) che tu possa passare 'in pasto' a Zend_Navigation. Hai fatto bene a tirare fuori il discorso autenticazione e autorizzazione, in quanto ad ogni singolo link del navigation puoi attribuire un nome risorsa a cui puoi assegnare dei permessi specifici in base al gruppo utente.
Sarà poi Navigation che si occuperà di renderizzare o meno il link nel menù in base all'utente.
Inoltre Zend_Navigation, come Zend_Form, utilizza internamente Zend_Translator, se configurato, per localizzare i testi in base al locale dell'utente.
Prima di fare ciò però dovresti vedere come si gestiscono Zend_Locale, Zend_Translate e l'ACL in ZF.
Ciao