UPDATE: this is resolved, the thread is only updated because I posted a conclusion. See the marked answer.
I had a call from my home alarm company this evening, telling me my backup battery was 2 years old and offering to replace it for free if I paid for a $99 servicing. I thought that was a little fast, so I did a bit of research. The battery (picture attached below) is SLA 12V 7AH and is meant to run the alarm for a week, and has "5 year life" written on it. However battery university tells me:
"The optimum operating temperature for the SLA and VRLA battery is 25°C (77°F). As a rule of thumb, every 8°C (15°F) rise in temperature will cut the battery life in half. VRLA that would last for 10 years at 25°C will only be good for 5 years if operated at 33°C (95°F). The same battery would endure a little more than one year at a temperature of 42°C (107°F)."
The roof space obviously gets hot, perhaps 40 degrees on a hot day. Let's say that's 1/3 of the year and 8 hours a day it gets that hot, so each year that would reduce the lifespan by say two months. That means a two year old battery with a stated 5 year life might last around 4 years. So replacing every two years seems a little too often, but not really too bad. 3 years might be better but that'd reduce their revenue. Any thoughts from people in the know?
I could buy a battery for $30 and do it myself, I wonder if there are any downsides... it's not a condition of my insurance (the discount was too little to bother) and it's relatively easy to access.
What would an alarm service do anyway? Check the sensors and alarms I guess.
NOTE: this question has been updated with a conclusion, see the answer.