Of course it can be optimized, e.g. compute 2 paths A-B and B-A and choose best (they may differ sometimes), add costs to certain tiles (maybe we'll try that in Remake to restrict serfs from walking busiest roads).
KaM Remake at: http://www.kamremake.com
Original MBWR/WR2/AFC/FVR tools at: http://krom.reveur.de