If we could compile a list in the following form for each profession, I could whip something up that presents a custom QuickFilters window with product filter buttons when a button in the quest description is pressed.
Code:
<Profession value="Sage">
<Tier value="1">
<Writ value="Tier 1 (Work Order)">
<Product value="Divine Smite I" />
<Product value="Gift of Bertoxxulous I" />
<Product value="Wrath of the Ancients" />
<Product value="Mark of Divinity I" />
<Product value="Ritual of Healing I" />
<Product value="Surge of Ro I" />
</Writ>
<Writ value="Tier 1 (Challenging Work Order)">
....
</Writ>
<Writ value="Tier 1 (Rush Order)">
....
</Writ>
<Writ value="Tier 1 (Challenging Rush Order)">
....
</Writ>
</Tier>
<Tier value="2">
....
</Tier>
<Tier value="3">
....
</Tier>
<Tier value="4">
....
</Tier>
<Tier value="5">
....
</Tier>
<Tier value="6">
....
</Tier>
<Tier value="7">
....
</Tier>
<Tier value="8">
....
</Tier>
</Profession>
<Profession value="Woodwoorker">
....
</Profession>
The product list for a given writ should include all possible products since there is some randomness to it.
You'd still have to click the product filter buttons that match products in the quest description, but the button list would be short and you wouldn't need to type anything. Work flow would be...
A) Get writ
B) Double-click crafting device
C) Click QuickFilters button in the Journal/QH (opens the QuickFilters window)
D) Click the desired product filter button
E) Craft, repeate till product quantity is complete.
F) Click Back/Esc to return to recipies
G) Repeat steps D - F till writ is complete
Zero typing.
Note: Since this scheme relies on string matching scripted text against UI text, it almost certainly will not work with international clients.