Ciao, ti rispondo in ordine sparso...
L'uso di un RTC secondo me è imprescindibile per rendere veramente completo il tuo progetto
Interessante l'idea del reset degli allarmi tenendo premuto il tasto all'avvio
Appena ho un attimo do un'occhiata al tuo nuovo codice.
Nel frattempo ho compilato il mio sotto 0023: non compila per l'assenza della macro F(), utilizzata per spostare facilmente le stringhe in PROGMEM, ma assente nella 0023. Metto una #define per risolvere la cosa.
Credo anch'io che sia meglio portare avanti i due codici in parallelo, almeno per ora
Infine, per quanto riguarda il consumo di pin... Nel caso serva, basta usare un lcd seriale: usa soltanto 1 pin per la ricezione dei caratteri; dal punto di vista software invece della LiquidCrystal si usa la SoftareSerial e si inviano semplicemente i caratteri da visualizzare (e giusto un paio di byte particolari per pulire il display e impostare la posizione del cursore...)
Per la tastiera non saprei... ma come hai detto tu non è prioritario per ora.