if I am not mistaken emails with higher priority should go first. But marketing emails has always a low priority and it just mean they are "less important than system e-mails." First of all system sends registration notification e-mails, forgotten password message and so on, and then it sends marketing emails. I would not play with priority here. If I add email to queue it will probably has a normal priority.
If someone made a mess it does not mean that you have to change the order of things. if they want to have control there are plenty of 3 rd party tools that allow to mange email campaigns externally. But that does not guarantee that you wont have the same situation there.
Anyway to me what happened is more an exception.
If you want to stop the campaign - it more manual process.
Stop the email service. Find out what left of the first campaign (in the cms_email) - save it somewhere. Delete it from DB. Start the email service. Launch the second. When it finishes - insert first campaign back in DB .