Migliorare Timer Progetto

Per gestire il countdown ti consiglio di dare un occhiata alla libreria timer che ti permette di settare un data/ora in modo abbastanza semplice.
Quello che posso dirti sul tuo codice è che non mi piace per nulla il sistema adottato per resettare il tutto, capisco che funziona ma non è proprio quello che di solito si consiglia di fare.
Ti consiglio di cercare sul forum "macchina a stati finiti" e gestire con quel metodo tutto all'interno del loop (alla fine è semplicissimo, una variabile di stato e un case).
Per l'inserimento del tempo la libreria dell'lcd ha il metodo blink() e noBlink() che ti fanno lampeggiare il cursore, quando sei in attesa del tempo ti basta posizionare il cursore e attvare il blick, ad ogni settaggio sposti il cursore e alla fine chiami la noBlink