You could do it with a central load/unload area, and threeish sets of tracks (although you do have to actually separate the dwarves for this to work, I think):
The first set of tracks is tricky. You want one output loop from each production area. It would just deposit all of the output of one area into a stockpile in another area, though for some it might be more efficient to have more tahn one output loop instead of chaining outputs. Food production areas would send all their output to the load/unload area.
The second set is for food and the third is for drinks. In each production area, there is one minecart for each of these tracks. When the minecart enters a
production area, it passes over a track stop that dumps its load and then sits on a hatch cover. When the dwarf goes to pick up the food/drink and move it to the stockpile for the production area, it steps on a pressure plate that releases the cart to the load/unload area.
In the load/unload area, the carts simply stack up, waiting to be filled. You'd need one per production area, and the same number of routes each with a single stop. The dwarf in the loading area would load one item in the cart and send it on its way. In order for the carts to visit all the production areas, build a logical latch for each of the production areas - when a cart enters the area, it sets the latch and prevents carts from entering, and when the cart exits it resets the latch and allows them to enter again.
The load/unload area would take care of raw resources - stone, wood, plants gathered from outside, as well as trading.