I've talked a lot before about priorities in a macro sense-- that it's a good idea to have one large overriding first priority. In my case, that priority is SETT. So when another really exciting project comes across my desk, I can easily turn it down and just focus on SETT. On a daily basis, though, SETT isn't actually my top momentary priority at all times. If it was, I wouldn't ever eat or sleep, because working on SETT would be more important.
One of the keys to high efficiency (which translates directly to high productivity) is knowing what you're doing next. The biggest indicator on whether or not I'll have a productive day is whether or not I know exactly what I should be working on. When there's one big fix that needs to be created or one big feature that needs to be built, I have no problem putting in a 12-14 hour day. On the other hand, when I have ten low priority things I could work on, I tend to get much less done.