photoresistor + sd card + battery + arduino

Or even PROGMEM

No you can't write to that while the program is running without rewriting the bootloader. If you could it would be non volatile.

linking a few batteries together in parallel

Lots of talk about this recently, unless you use diodes to prevent back charging then my advise is to not do it.