Power efficiency on PIC/AVR
You can easily  last that long with a few coin cells in parallel. The Arduino can do sleep mode and wake up on a external pin transition, but you'll have to include debounce logic or hardware. You can also do without regulated power...

All that being said, if your primary goal is to maximize the life of your project, the ATMega328 is not your best choice. There are a variety of low-end microontrollers that are better suited to battery powered operation including (but not limited to I'm sure):


Texas Instruments' MSP430 series 
Microchip's XLP series (as you've noted)
Atmel's XMega microcontrollers (e.g. picoPower)


I don't want to start a flame war, but I think MSP430 is widely acknowledged as the leader in the low power market, as the whole chip was (purportedly) conceived from the ground up with low power in mind.