The way to do it, I think, is to first establish reasonable conversion factors between emerald and raw materials. For example, let's say one emerald is intrinsically worth 15 raw chickens.
Then we define a "value added factor" which is how much extra the villagers charge for having processed the raw materials. This might also vary between villagers - a higher factor for alchemists than for carpenters, for example. Let's say the value added factor for cooking chickens is 1.2.
Then we want to define a profit margin, let's say a factor of 1.5 again.
So if you want to buy cooked chickens, one emerald is worth 15 / 1.2 / 1.5 = 8 cooked chickens. If you want to sell them, it's 15 / 1.2 * 1.5 = 19 cooked chickens for an emerald. Buying raw chickens, an emerald gets you 15 / 1.5 = 10 chickens, and selling raw chickens, it's 15 * 1.5 = 23.
These are example numbers, obviously, but the point is that if you want to buy cooked chickens cheaply with emeralds, then it should also take you more raw chickens to buy an emerald. So you can fiddle with the numbers for intrinsic value, value added (should be > 1.0) and profit margin (should really be >> 1.0) until there's something that feels right.
I've since gone and made a spreadsheet that runs these numbers.