Hi @dereksu1
The "schedules" are exactly for that - letting WF know which are work-days and non-work-days. Would definitely recommend using those.
Due dates are calculated by Workfront based on predecessors and constraints - it's out of box and I would recommend looking at your use case to see how you can translate this into a task whose planned completion date is the "due date" you need.
Calculated expressions are not really sub-routines or macros - they're more like Excel formulas in that you can chain expressions etc but it can get unwieldy quickly. Moreover, calculated fields get re-evaluated when the object custom data is updated (eg when you edit custom form fields) so your expression ADDWEEKDAYS($$TODAY,4) would be a due date that is always 4 days away...
Can you share more about your use case and maybe there's a more straight-forward solution?

