You know, this could be a very easy extension of the current system, and could replace some of the auto-queued job behavior.
Basically, if a dwarf requests something, and you don't have it, put a job to create it in the queue. If a job has required materials, and you don't have any, put that job in the queue also. Then, using the job Manager settings, the player can either release a particular job individually, or mark a particular kind of job (Smelt Hematite Ore, say) as an auto-release, or an auto-release as long there's as least X of the input stock available. With a little work on the job system (jobs need to be refined into a Verb/Object system, so you can have your spinners not make Pig Tail thread because you're saving that for brewing, but happy to make rope reed... or let you Slaughter Cow automatically once you've developed a breeding stock... ) this could be a really elegant way to make that manager position matter... When a dwarf wants something, he has a quick meeting with the Manager and that all gets queued up, and he gets an unhappy thought if he fails to get his request within a certain time, so an efficient manager can really help keep your dwarves happy.
And, when perishables (raw fish, fresh hides, fat, who knows what all else might show up -- salting/smoking meat, anyone?) are created, you can dump them into the same queue. Again an efficient manager will help get these jobs done without rot happening.