There is at the moment no method to set a duration for a task.
It would be great if for example "Time Estimate", which is an existing field, could be used as an offset to calculate due date.
Better would be offcourse a new field which doesn't convert to hours and would retain the value. such as: 10d, 3w, 20bd.
And thus also adding a value like 'bd' which would convert to business days.
When changed the due date should change (and all dependencies accordingly)
When changing the due date this duration value should change according to the already present (or default) unit.