The was I tend to deal with these things is to:
- Create a farm
- Add a seed stockpile next to the farm
- Add a plant stockpile next to the farm. Allow all plants in this stockpile
- Some distance away, create a 5x5 room with a still in the middle. Designate the surrounding tiles to be stockpiles (see below for details). Take from the plant stockpile
- Similarly create a 5x5 room for the farm workshop, surrounded by stockpiles for plants, hair, etc. Take from the plant stockpile and the farm workshop that shears sheep (I have a farm workshop in my pasture for shearing and milking)
- Finally create a 5x5 room (or even 3x3) for the quern (querns only take up 1 tile, so that gives you 8 squares for inventory, which is enough in my fortress)
The key is to keep the rooms physically separated to a certain degree. The work flow is that the plants are harvested and deposited in the plant stockpile. Then when there is space in the stockpile near a workshop, it gets hauled there. When a brewing or milling or whatever operation is set up, then the dwarfs will almost always select the correct plant. You can "give" from the stockpile to the workshop, but I actually find it to be unnecessary.
I actually have several stockpiles around my still (and kitchens!). In a 5x5 room containing a workshop, the stockpile will contain 16 squares. So I will have say 4 for fruit, 4 for random grains, 1 for pig tails, etc. If a particular booze is popular, I'll make sure to reserve a square for it. When brewing, the dwarfs will pretty much randomly select from that list (with a tiny probability of selecting something else).
If I have a population of 100 dwarfs, they go through 200 booze in a month. If I can brew 20 units (a stack of 4 plants) per brewing session, then it means I need to brew once every 3 days. If I have 1 space for pigtails, then they will make pigtails 6% of the time (1 in 16), or basically less than 1 stack a month. So it's using less than 1 farm square of output. You can avoid it almost altogether, but I think variety of booze is important. (Note, with kitchens you can make roasts with great variety by splitting up the food stockpiles into 4-5 categories).
For milling flour, what you can do is set up 2 workshop orders. One mills when you have dimple cups. The other mills when you have *no* dimple cups, but a certain amount of grain. Then prioritise the dimple cups over the grain. When you have finished milling the dimple cups, then it will mill whatever amount of grain you wanted to mill. The only downside to this is that you either have to make sure that you have capacity to dye thread/cloth quickly, or you need to set up a large enough stockpile for holding milled dye.
Earlier someone was asking about brewing. I completely automate my brewing (and prepared food preparation). There are a couple of tricks. First, you need to keep in mind that when a dwarf drinks from a pot, the pot is considered unavailable. So if you set your production limit to "at most 100", for example if a dwarf drinks from a pot containing 20 booze you will dip down to 80, potentially causing you to make more booze. If you brew 20 more, then you will end up with 120 booze. This can be exasperated if multiple dwarfs drink at the same time. I tend to only stockpile 1-2 weeks of booze. This ensures even production, but it often means that I end up with up to twice as much booze as I expected to have.
For prepared food, you can mitigate this problem by *never* storing prepared food in pots/barrels. Also, generally speaking, anything you store in bins should be produced in small quantities, for the same reason. I once decided to make 8 toys for the 8 children in my fortress. So I had a production size of 8. And I thought, "Why not" and made it repeat if the number of toys dropped below 8 (thinking that as children took toys, I would make more). Of course, all the toys were stored in the same bin. When a child took one, it triggered me to make 8 more. When an adult returned the toy to the bin it triggered me to make 8 more. Luckily it stopped when the bin was full (60, I think).