photoresistor + sd card + battery + arduino

Okay, i'm learning as well, but I believe I may be able to decipher your questions.

Depends on the battery - different battery types have different ampere-hours, which would therefore affect your ability to record data over a period of time.

Nine volt batteries will last for a decent amount of time, but maybe not that long - it might be a good idea to link a ampmeter between your batteries and supply to see how many amperes an Arduino draws during your normal operation, with writing to the SD card.

The arduino requires at least 5 volts. 3.7 volts is nowhere near enough.

If power supply is a problem, as a last resort, linking a few batteries together in parallel and using a switch-mode power supply would help to lengthen the amount of time available, though it might not come to that.

You may be able to use the EEPROM memory inside the arduino, assuming you only log 511 times. Or even PROGMEM - though i'm not sure if that's volatile.