Halesha,
OK, I set up some tests just to make sure I was correct. I am...
Lets assume for a moment that there are no skills involved (which for the purposes of this discussion, would only complicate the calculation without affecting the outcome.)
If there are multiple interactions waiting in the queue and an Agent becomes available, then the ACD engine will choose the most appropriate interaction to give to that agent. Using default values, that calculation will be the Priority plus the number of multiples of 30 seconds that the interaction has been waiting in the queue.
So, the interaction that has been waiting the longest (assuming everything else is equal) will be the one that is selected.
No, let us consider an interaction that has been waiting for 12 hours (usuing your example). The default priority is 50, so it will have a score of 50 + 12 * 60 * 2 = 1490. If you change it's priority at 12 hours, even to the maximum of 100, and re-queue it, then it's score will be 100, since it's time in queue will be reset. 1 minute later it will be 102 and so on. In other words, an interaction that has been waiting for 11 hours will be selected ahaead of the one you bumped up the priority on!
I am assuming that you have an issue with emails waiting for extended periods and are trying to push them forward every 12 hours? If so, then actually leaving the ACD engine to do its thing is doing exactly that.
If you want / need to, you can set the Queue type to "Custom" and then use the CustomIVRWorkgroupQueueEmail customization point to change the default weightings. (For example, you may want the score to increase more rapidly with time.)
Of course, if I am misunderstanding the problem you are trying to solve, then please clarify and I will try to help further.