You can do it simpler: use the internal pull-ups in the ATmega (write a 1 to output, while the mode is INPUT). Put the switch between pin and ground. Make it close when the door opens, so that normally it doesn't draw any current through the pull-up.
No need to wake up periodically: if you prepare the "pin change interrupt" properly for the pin you are using, you can completely power-down the ATmega, and it will wake up when the pin changes. You will need to dive in the datasheets and look for examples on the web to make this all work as intended, but you can use the new Sleepy class in the Ports library to power down.
I wouldn't be surprised if this use of JeeNodes would give you several years of battery life, even on coin cells. Serious. There's virtually nothing drawing power while the door is closed.
To push to the very limit, you could then do one more thing: when the door is open, it draws some current through the pull-up. Disable the pull-up, and do a periodic deep-sleep wakeup with the watchdog, enabling it briefly to see whether the door is still open. If not, re-enable the pull-up fully, and go back to total deep sleep.
Sounds like a really fun project - I'd be interested to hear how things go! No need to get everything perfect in one go.