This is a relative minor point, more of a gameplay mechanics suggestion.
One thing I would like to see is that if a job cannot be completed due to lack of materials and the job is on [R]epeat at a workshop, the job will not be removed from the queue. The job will be skipped and moved to the bottom, and the next one up will be done.
This would allow a lot of options for making a great deal of your fortress automatic.
For example, making tasty roasts.
Have fields where you can grow cave wheat, sweet pots, and quay bushes. Have several mills/quens, farmers workshops, and kitchesn.
Put a mill plants task on [R]epeat. Then in the farmer workshop have process plants to barrel [R] and process plants to bag [R]. In the kitchen, prepare lavish meal [R].
You will probably get a lot of cancelation messages, but you can turn off that spam in the options so its not an issue. The result would be that farmers would automatically plant, harvest, and store crops. If barrels are available the sweet pods will be made into syrup. If bags are available then bags of quay bush leaves, cave wheat flour, and sweet pod sugar will be made.
These ingredients will then all be combined in the kitchen automatically with the roasts hauled away and stored for eating or trading.
This workflow will be interrupted often, but thats okay. If you run out of barrels for a few seconds the entire process will not grind to a halt. You will get a few cannot complete task messages until the kitchen frees up some barrels. Same deal with bags. Or even plants if you mill/process all plants, and the production will resume next harvest without any intervention from the player.
You could set something up for other things as well, automating a huge number of tasks in your fortress and doing so with allowing a ton of customization as for what tasks you want repeatedly attempted indefinitely.