It is. But it is not a simple slave. It must frame each command (four bytes) and then execute that command. In order to execute commands, it has to have a running clock. In order to receive data, it has to have a running clock. In order to receive data, it has to have a running clock that is three or more times faster than the ISP bit rate.
I'm beginning to get the picture, but I still have some questions if you don't mind. Why is it executing these four byte commands? Isn't it supposed to start executing commands after the uploading is complete and the program has started running? Can't the data just be stored during upload and the cpu can have a look at it afterwards?
You said that the system clock have to be 3-4 times faster than the ISP bit rate. The system clock speed can be pretty darn slow if I read the datasheet correctly, choosing the WDT as system clock with a prescaler of 256 comes to mind :D So how is the ISP bit rate set when dealing with projects that require very low system clock speeds? Perhaps low clock speeds are rather uncommon?
MISO is also connected, there has to be some acknowledge bits sent back to the ISP, right? Can't the MCU say "hold on" between each four byte transfer so it can keep up?
Before spending a great deal of time trying to get the processor running as slow as possible bear in mind that there is a valid argument for running the processor as fast as possible. The idea is to wake, work as fast as possible to minimize the awake time, sleep as deeply as possible.
I have a few handheld gadgets that run from AA batteries. The devices are used once to a few times a day for a few minutes at a time. I typically change batteries less than once per year. None of them are clocked below 1 MHz.
That's a good point. The device I'm making right now is very simple. It's going to wake up, light one IR (with a carrier signal) for 300us, then another IR led for 300us and then fall asleep for 16ms. I guess it's possible to just write the output HIGH, sleep, wake up after 400us and then write it low again, this is unless the GPIO's are written LOW automatically. The 38khz carrier signal is supplied by a timer so this will keep running, it might be a good idea to lower the clock speed so that the timer interface uses less power though? Or perhaps this won't make much a difference compared to the power consumption of the LED.