It's either a bad switch or a short in the wiring. There's not much else to tell other than it's time to take out the meter and start testing the switch and circuitry.
The stalling could have to do with the battery dying all the time. The PCM learns and stores how to control the engine under various conditions. Whenever the battery goes dead (or is disconnected) these parameters have to be relearned. It's either that or your IAC valve is dirty and in need of a cleaning. The IAC is what the PCM uses to control idle.