In regards to the logic of an artisan/craftsman being superior due to pratice and skill. How about adding in a time component for reagents, or the created item?
Some poisons for instance wont last forever, a poison may last for a day or maybe a few hours. Since traveling is a time consuming occupation, chances are you wont be able to use the poison bought in a store should the traveling distance be far enough. Whether the craftsmanship of a fulltime craftsman is superior, a poor quality poison would still be superior to none at all.
The time component could also be applied when crafting weapons and armor. What if a master blacksmith wants to craft a powerful blade with special properties yet it requires demon blood. Since demonblood goes bad after an hour or so, aswell as demons making poor company, would it not make more sense for the blacksmith to make the blade "base" and give instructions to the adventurer on how to apply the demonblood to the sword to gain the desired effect?
Also i´d like to see usable items such as wands, potions that on impact creates slippery grease on the ground and/or applies status effects on enemies etc, whether bought in store or crafted by oneself.
Oh and hi )