As long as you get into the habit of testing it regularly (as the instructions say) then any battery will be fine. If you don't bother testing it then it doesn't matter what battery you use, one day it'll run out.
That or use rechargeables and change them regularly, well before they'd run out of juice.
Most good smoke alarms will emit an annoying beep once a minute when the battery is getting low. This usually lasts about a week before the battery is completely dead, so remember to check them when you come back from holiday.