While I haven't used AMX in years, so don't consider myself an AMX or ARM expert, I think the questions are more fundamental. Also, note that by labelling the question for experts only, you tend to limit your responses, even from people who really are experts. It is better to be open to a wider range of responses and do your own filtering.
That's a reasonable approach. Basically two issues: each task should only schedule execution when it really has something to do, using interrupts to trigger most execution (as opposed to periodic execution) and, as you mention, checking to see when the first scheduled timeout is.
If you don't have a processor timer running, you will need an external timer, probably a clock chip, which can be used for both wakeup at a designated time and for restoration of the internal timer, although probably at a lower resolution. If you are sleeping for long periods of time, and concerned over the power difference, it could be worthwhile. You might, instead, leave the processor oscillator and timer running, then use a timeout interrupt for the first timeout event, though that will require more power. This is common for realtime operating systems.
One thing to note: if you turn off the processor crystal oscillator, you will need to allow sufficient time for it to stabilize after starting again. For high frequency crystals, this is usually several milliseconds.
Thad