mmm cuantos botones vas a tener? y que funciones tendrá cada uno?
porque puedes, por ejemplo capturar los datos (de fecha y hora) en variables temporales, hasta que termines la configuración, y modificas solo estas temporales con los pulsadores, para después que se termine la configuración, enviar estos nuevos datos la RTC para que se configure la nueva hora y/o fecha
y pues en el LCD visualizarías estos datos temporales, y no directamente lo que tiene el RTC.
enable_interrupts(global) sirve para habilitar todas las interrupciones, para validar todas las interrupciones, si por ej activaste la interrupción por desborde del TIMER0, pero no activaste las interrupciones globales el timer no provocará interrupción.
Talvez puedas definir B3 y B5 con mejores nombres, o más entendibles, por ejemplo:
#define pin_b3 inc
#define pin_b5 dec
solo para cuestiones de entendimiento, porque puedes de lo contrario manejarlo con los nombres pin_b3 o _b5 sin problemas, ya que su sabrás que hace cada uno
un saludo