I'd suggest you could dwarves "chores". Sometimes when you assign tasks for dwarves you notice that multiple dwarves do same task, causing useless running around int he fortress, especially when task involves running to certain place. Also as the fortress grows amount of micro management your dwarves do increases I've a suggestion which would help to automate the running of the fortress.
Chore would be tasks for dwarves. Example of tasks could be: "haul wood", from "outside" to "stockpile#" or create "spears", with "any metal", storing "not assign" (would drop them under the smith from which they'd be treated normally). You should also be able to assign chores to use wheelbarrows, if it's hauling chore so you could move more stuff at once.
You could set priority levels for chores. Priority levels tells how a chore is prioritized. Examples of priority levels could be "when other jobs not available" or "very high" (these chores are prioritized over everything else on the fortress). Chores could also have different priority in certain priority levels. So different chores on same priority level would have different priority. Simplest way to do this would be simple number which would tell which chores would be preferred most. Lastly you should be able to set different priority for first and second dwarf who come to do certain chore. So that the first dwarf would have higher priority than the last dwarf.
You should also be able to set conditions for chores. You could set starting condition for chores, and ending condition for chores. (so that there is some slack in when the chores has to be done again), and ability to change priority depending on conditions. Example of condition could be: "stockpile #" has over "10 wood" or amount of "swords" in the fortress <10 (this would require accountant)
Chore system would quite easy to do with parallel programming, so that different processor would create tasks list with the chores in it. And different processor would assign dwarves tasks as they are assigned now.
Edit: Lastly you should be able to chose which dwarves take certain chores. This could be done by limiting chores to dwarves with certain jobs and including or excluding specific dwarves from a chore.
Edit: I forgot to mention. You should be able to control how long dwarfs will do chores. So that once dwarf is set to a certain chore, he'll be doing that chore for a while, reducing the amount of running around dwarves do.