Thanks a lot, PeterF. Sorry for the delay, I wasn't notified about your excellent reply.
I've been reading and experimenting with my little project in the meantime, so I also found out about the 5V reference and the range of 0-1023. And I have not connected any pin without a resistor or voltage divider

I got the Spark to nicely read the voltage I provide and it's surprisingly precise. I map the analogRead()-value to the range of 0 to 5000 (milli volts) and then multiply with 2 because I have 2 equal resistors and PIN2 in between them. Fine.
I would give it a try and power it directly from the car's output. It would be the nicer solution. Any load will be accomplished via transistors and relays. During my experiments with 12V from a battery it doesn't get so warm.
BUT I have another problem now:I need to use PIN4 (USB-) as an OUTPUT in the final project.
During development I found DigiKeyboard to be suitable to give me a direct feedback on the analog values read.
Of course, i cannot initialize PIN4 as OUTPUT, as long as I have USB connected, because I want to use Digikeybard. But I made some attempts to do pinMode(4, OUTPUT) and leave USB disconnected after upload.
It worked fine. I finished my experiments at 1pm. Board power off. I continued at 5pm. Now the spark ONLY connects as the bootloader and doesn't even seem to try to connect as the DigiKeyboard. bootloader on - bootloader off - bootloader on - bootloader off... and the loop() doesn't run either. When I disable all Digikeyboard code and start the Spark without USB connected, setup() and loop() run ok.
What's that?
Can you destroy anything if you set PIN4 to OUTPUT and HIGH and connect USB to a Laptop? This might have happend in one of the last minutes at 1pm. And can the Spark be destroyed in a way that it only connects with the bootloader but nothing else?
And thanks, exeng. I've been using these step-down regulators from time to time.