1) Remove negative prosperity from the game. Instead Prosperity will remain random but it will never drop below "0"
2) Whenever a fief is attacked (and a proper battle actually occurs) the fief's goods price will drop depending on the number of population killed (not spawn capped) in the battle. The following formula will achieve the right results
Drop_in_goods_price = 20*(1-cos(Fief_Pop_Killed%*Pi()/2))
This will give the following results:
Fief Population killed - Drop in Goods price
500 - 20gold
450 - 17gold
400 - 14gold
350 - 11gold
300 - 8gold
250 - 6gold
200 - 4gold
150 - 2gold
100 - 1gold
50 - 0gold
The minimum goods price will stay at 5 gold regardless of how big the drop is. What this does is ensure that the prosperity of safe villages stays high whilst the prosperity of war zone villages is low. This limits trade profits slightly in secure areas such as those controlled by major alliances/bigger factions and gives greater money making opportunities for people willing to craft in more dangerous areas. It is based on villagers actually killed so that factions cannot artificially lower their own goods prices by attacking their own or an allies fiefs. Spawn capping your enemy will not count.
3) Link maximum fief crafting/recruiting efficiencies to fief populations. The same formula can be used here to determine the maximum efficiencies. Just leave out the 20x bit so it stays between 0 and 1 and then times by the fiefs normal max efficiency. Basically this completes the system by saying that if a clan wants to gain the full advantage from attacking a fief to lower goods prices, then they will then have to pump their own troops into the fief to boost the efficiencies. Otherwise the lower goods prices will be balanced out by the lower efficiencies.