So maybe we should divide the day up into two contexts: required and flexible.
Required is the 'today' list -- it has from 3 to 5 priorities.
Flexible is everything else.
Do the required, then move on to the flexible.
Keep the required context short and doable so that you virtually always make it.
Enjoy picking and choosing from the flexible list.