The newest "brand name" alkaline batteries claim something like a 10-year shelf life. Personally? I don't trust any of the three major brand names, I've had all three leak too often before. Sometimes, yes, in less than a year. For long-term storage the batteries should be out of the device. For the stuff that needs to stay loaded, put silicone grease on the battery terminals (sold inexpensively as "high temperature brake grease" in the auto parts stores) so that any leaking crud simply wipes away.
For serious storage, you can use lithium primary cells, which are not at all the same as LiOn rechargeables. Made by SAFT and steeply priced, they easily last five to ten years, the only problem is that they have a limited current rating, make sure your device can work on them. They just don't leak, they are used in devices like emergency locator beacons where the battery MUST be reliable after five years on a shelf.
With rechargeable batteries...there's nothing shelf-stable. NiCd and NiMh batteries may lose 75% of their charge in 30 days, and the commercial radio packs are designed that way, because they are intended to be left in chargers at the end of every daily shift. A FEW brands and types (like Sanyo's Eneloop) are designed to retain more like 75% of their power for 6-12 months, there's a trade-off in the number of cycles, or the price, or something else, but they are better on the shelf.
Lithium-ion batteries are also good on the shelf, but expensive and a fire hazard, especially since you rarely can find out the real source of the cells being used. And, sometimes there are thermal monitors or other bits of circuitry in the pack, which may take those down within a month as well.
A real case can be made for keeping the "spares" and the radios in charging stands, and just using a cheap clock timer to turn on the power and run the charger for 1/2 hour every day, to keep them topped up.
So there are solutions, but there's a compromise to every one of them.