Assuming I'm reading the situation correctly, I'm going to follow a bit on Pawel's response, and say that you may be putting the cart before the horse.
It sounds like you might first need to wrap your arms around the projects and priorities, and then find a way to better allocate the tasks based on priorities.
Before you start managing multiple projects, make sure that you have a solid plan for each project as a stand-alone entity. Once you have those, then you can start merging them and adjusting priorities based on how the various milestones (internal & external) interact.
Do this, then figure out where you are in relation to this plan for each of the projects (current state), and what remains (should be).
From there, allocate tasks based on this plan. Don't let external demands dictate the work process. I realize that some of your people are paid per task, but I would stay away from letting their availability dictate when tasks are released. That's the fastest way to lose control, and it makes the project planning process pointless.
Once you've done this, pretty much any tool will help you track these. The kanban board is a good suggestion, provided the project complexity and resource allocation between projects isn't too restrictive.
And if I've misread the situation, I apologize in advance. :)