Building a small custom app to do this shouldn't be difficult. You can use a multi-value field to hold the todo owners, send out mail when it's assigned, more mail when it's coming due, more if it's past due (with escalation if you want), and email to the assignees when it's completed. By doing it as a custom app, you have the opportunity to track statistics and store all the actions in one place.