Very low frequency compact 555 timer circuit
That is a very long time for a 555 circuit... However the only reason I can think of it not working is the self discharge of the capacitor, but if you are using ceramic caps, that should be low enough to be ignored.

To answer your questions in order:

1) Larger resistance is easier to get hold of than larger capacitance, especially if you are size sensitive. A 1mF ceramic capacitor will be HUGE, but a 1meg resistor will be tiny, as the size of resistors is related to the power they are rated for, but the size of capacitors is related to voltage and capacitance value

2) SMD components are very good, very small option. If you are confident with soldering them, I would say go for them if you can, but they are not an easy solder option for a beginner, especially if you don't have a PCB ready. Using leaded components would allow you to prototype it on breadboard, which is always useful. As for the voltage, 30V is way above the 5V you're operating at, so would be fine.

3) There is always another way of achieve this, but it depends on what else you're attempting to do. One alternative would be a very small microcontroller and use it's internal real time clock to have variable time limits etc. No doubt there are lots of other options that other people can come up with.