Since computed-score priority (CSA) computes start and due dates, I use those to set the duration of each task, aka, LEAD TIME = DURATION of the task. Then, to set the LEAD TIME, I choose an start date far in the future, like five years from now, and set ALL tasks to that start date + their respective LEAD TIME (duration). So, what happens? Since the start date is the same for all tasks, so they will differ the CSA by their DUE DATE score obtained from the LEAD/DURATION of the task and since the DUE DATE SCORE increases CSA when coming towards today, the tasks with little duration will have a higher priority, because I consider the duration of the task as "costs" (input) that mitigates the "benefits" (outcomes).
Since you want the opposite, to prioritize long duration tasks, just set the DUE DATE + LEAD instead of the START DATE + LEAD far in the future and the logic will be inverted.
And for due dates warning, use the reminders.