9V battery is probably done for in a few hours of LED on; 8-10 hours for just the Arduino (you didn't mention sleep states; I don't know how good the Mega is for this; it's definitely the wrong form factor for one button & one LED & battery power).AA will do a lot better. I'm assuming a single red or green LED as you didn't specify it... this way best battery life can be achieved with a 8 MHz Pro Mini running on 2xAA (yes, gonna last a lot longer than 4xAA) and proper use of deep sleep modes for the controller. If it's blue/white you'll need 3xAA to get sufficient voltage.
regarding batteries I would use the smallest/cheapest USB rechargable power bank available. Depending on how bright you need the LED to be, AA-s will discharge in a couple days of continuous power. This might mean a few weeks or months till discharge, depending on how often the button is pushed, anyway replacing batteries is a pita compared with USB charging. Regarding how to control higher power LEDs with Arduino, search for "high power mosfet switch with arduino" schematics and program examples.To further save power you'll later want to let Arduino enter deep sleep mode when the LED turns off, and being woke up by the big button press.
The white light eminates from the three LEDs
In general, would this type of custom board and plastic housing shape be relatively easy to mass produce, if it came to that?
Unless you're making it yourself, it doesn't matter how "easy" it is; only matters how much it costs.