You will need an 'always on' computer somewhere that can act as a server. I am running Snow Leopard on mine. Then you need a Unix application that runs in terminal called icalBuddy. This command can extract events and to-dos from iCal. See the instructions for icalBuddy as it is very customizable. I use icalBuddy to extract the next two days of events from specific calendars.
Next create a workflow in Automator, and save it as an application. You can use icalBuddy to get your to-dos in addition to events, but Automator is pretty good at getting to-dos on its own, so thats's what I use.
Create a TextEdit document. I call it 'reminder list.' The Automator workflow looks something like this:
Get Specified Finder Items "reminder list"--> Run Shell Script "icalBuddy" (this will run icalBuddy in terminal and you need to put in your customization here eg /Users/Desktop//icalBuddy-v1/icalBuddy -npn -nc -sd -b "" -eed -eep notes,url -sed -ss "" -tf %H%M -n -ps "|@ |" -ec Home,Work,My Holidays eventsToday+1)--> Set contents of TextEdit Documents (by Replacing)--> Get Specified Text "to-do:"--> Set Contents of TextEdit Documents (By Appending [this will make a to-do: heading)--> Find iCal To Dos (find to dos-customize as desired)--> Set Contents of Text Document (by appending)--> Get contents of Textedit document--> New mail message--> Send outgoing message
The e-mail should look something like this:
- today:
- meeting@ 3B CLASSROOM@ 1300
- tomorrow:
- Nothing.
- to-do:
- Get Batteries
Instead of having Automator send the e-mail, I use Filemaker to automatically import the text file, reformat it and e-mail it. This is helpful if you have a lot of events and to-dos. You can customize the format and automatically abbreviate words and truncate entries. I can't go into details here, and I'm sure there are many software solutions that can be used for this.
After going through Filemaker it looks like this:
- [TODY: Mtg@ 3B ClsRm@ 1300]
- [TMRW: —]
- [to-do: Get Batteries]
[crarko adds: I haven't tested this one.]

