To upadte the task use a scheduled event that selects the task based on a date and a type (daily/weekly etc).
Update a datetime attribute that should indicate when the task should be visible again. For example in a datagrid you could add a xpath to select the tasks that have a value in the datetime attribute that is greater then the begin of current day. Like:
[yourDateTimeAttribute >= '[%BeginOfCurrentDay%]']