Here's the procedure:
- Launch Automator and create a new Service.
- At the top of the workflow, set the following options, which are the default: Service receives selected text in any application.
- Add New Action » Set Value of Variable. (To find this action, enter Set Value of Variable in the Automator search field.)
- Click the Variable: pop up menu and select New variable...
- Name the variable To Do Title (or whatever you like) and click Done.
- Add New Action » New To Do Item. (To find this action, enter New To Do Item in the Automator search field.)
- From the Variable section in the bottom right of the Automator window, drag the new variable To Do Title into the Title: field of the action.
- In the New To Do Item action, click the Options button and select Ignore this action's input and Show this action when the workflow runs.
- Save the new Service as New To Do and quit Automator.
- Go to any application with some text content, select some of the text, right click, and select New To Do from the contextual menu. (You may have to go inside the Services sub-menu if you have a lot of Services that act on this data type.)
- A New To Do Item dialog window will appear with the selected text in the title field. You can edit the title if you like. Select the desired options and click Continue.
- Switch to iCal and you'll see your new To Do item in the Reminders list.
Advanced Notes: There are a few things that aren't immediately obvious about creating this Automator workflow that might be useful if you create others. It took me quite a bit of trial and error to figure these things out, so let me share them with you.
Most of you probably understand that creating this workflow as a Service allows it to show up in the contextual menu, the Services menu, and to be assigned a keyboard shortcut in the Keyboard System Preferences. Simply adding the New To Do Item action will create a new To Do item in iCal's Reminders list using the selected text as the title, but you won't be able to set any other options and you won't receive feedback that anything has happened. Selecting the option Show this action when the workflow runs presents the dialog box that allows you to set options for your new To Do item. When you create the Service, you can set what the default options should be and these defaults can always be changed by re-editing the workflow document in Automator.
The tricky part is figuring out how to make the title editable. With only the New To Do Item action, the title field in the resulting dialog is blank, but editing the field has no effect on the reminder that is created. This was very perplexing. By adding the Set Value of Variable action and placing that variable in the title field of the New To Do Item action, the selected text appears in the title field of the To Do item. However, editing the text in this field in the dialog box still has no affect.
The New To Do Item action is designed to always use the selected text as the title of the To Do item, no matter what you do in the dialog box. By selecting the Ignore this action's input option and using a variable to fill in the title filed using the selected text, you can then edit the title field as you are creating the new To Do item. This was the key to achieving the desired behavior.
I hope you find this Service useful, and I hope these technical tips help you create other useful Automator workflows.
[crarko adds: I tested most of this and it worked as described. It's a pretty straightforward Automator Service. The hint was a bit difficult to edit, so if any errors were introduced let me know in a comment and I'll correct them.]

