Six monthly service timer with indicator
as it's a fire alarm I'll assume it has a near continuous power supply and that outages are both brief and infrequent.

have a microcontroller count time and 5 minutes into every hour update the non-volatile memory with elapsed time 
(so after 5 minutes it writes 1 hour elapsed, and then 60 minutes later writes 2 hours elapsed etc) this could be done in trhe form of tallies where each hour represernted by a bit until you get to 100 hours and then you write an integer value or elapsed hours and clear all the tallies - this reduces the number of erase cycles needed prolonging the life of the EEPROM

for the led and button just connect them to GPIO pins (like normal),  for the sounder you can also use a GPIO PIN and use that to control an sounder, or amplify it an  connect it to a loud-speaker.

it may be possible to use the timing loop to also conditionally drive the speaker, or have two different timing loops, one noisy, and one silent.