Du kan slå in det i en underfråga som så. Problemet är att MySQL inte kan uppdatera rader som det också frågar efter. Detta kommer att få MySQL att använda en temporär tabell implicit för att lagra de ID du vill ta bort.
DELETE FROM tasks
WHERE tasks.id IN
(
SELECT id FROM
(
SELECT tasks.id
FROM tasks
JOIN deadlines ON deadlines.id = deadline_id
WHERE DATE_ADD(tasks.created_at, INTERVAL deadlines.duration DAY) <= NOW()
) AS taskstodelete
)