Your program can cycle through a main loop at slow clock speed (which is the most battery-saving way to run), waiting for something to happen (e.g., change of status on a pin), and then switch to high speed to do the necessary processing. This thread is about low power battery usage:
http://www.picaxeforum.co.uk/showthread.php?t=8353
It covers the main power saving techniques as follows.
1. Run at slower speed. Poke the OSCCON register ("poke $8f,%00000000") to run at 31.250kHz instead of 4mHz (1/128th the speed). See "08M UNDER clocking"--
http://www.picaxeforum.co.uk/showthread.php?t=2233 ; also
http://www.kranenborg.org/ee/picaxe/ (search for low-power) also search the forum for "OSCCON".
2. Run DISABLEBOD. This turns off the picaxe brown-out detection, which cause the picaxe to shut itself off at a bit below 3V. With DISABLEBOD, picaxes have been kept alive down to 1.3V. See manuka, et. al.:
http://www.picaxeforum.co.uk/showthread.php?t=6513 ; also Mycroft2152, "Low Power PICAXE 08M - BOD" --
http://www.picaxeforum.co.uk/showthread.php?t=4826
3. If you are using occasional ADCs while on battery, turn off the ADC module between reads by poking the ADCON0 register ("poke $1f,value"). Bit0 of value turns it off, but the register should be read first so that other bits are preserved. See Dippy "So for low-power people (doing the occasional A/D) it looks like a quick poke might be in order to switch off ADC module"
http://www.picaxeforum.co.uk/showthread.php?t=5950 ; also
http://www.picaxeforum.co.uk/showthread.php?t=8346
4. Pull down all unused inputs to 0V, e.g. with 100K or even 1M resistors. See "problem with getting very low power consumption"
http://www.picaxeforum.co.uk/showthread.php?t=2292
5. Current-limit any outputs to the degree possible. For example, at 4.5V, an LED with a 330 ohm resister uses about 13 milliamps. With a 22K2 resister it is much dimmer, but readable, and uses only .2 milliamps. Blink patterns can further reduce current usage while expanding the information provided.