So if Player A finishes his mine first, does this destroy the construction site of player B?
No, you will be allowed to finish everything started before ZOC "kicks in".
How would you ensure the 'minimum distance' between two buildings in that case?
The ZOC will simply overlap, which means neither of the players would be able to build anything within DMZ
You can even push this scenario further: what happenes if for some reason one road tile was not finished (because the laborer was killed or starved or there was one of the famous lags that make you planning skip one tile), the opponent finishes his building - and you have no chance of connecting your building to the road then. Is this the intended behaviour?
This might be tricky. But I guess the answer is yes, this is intended behavior, if we allow to connect the building with road afterwards then the whole idea (partially) falls apart, because you can just place a few towers and then connect it with road later on. The only exception might be the overlapping area, it should be possible to build roads there.
The ZOC is per se a good idea as it's implemented in the Civ games, but the situation is a bit different in KaM as you have those mobile troops and much more tiles to sit on.
I think the problem with the laborer-planting-fields can be solved with the simple implementation of a field-destroyer in the way, that your own laborer has to work there, dig a bit, and the field then vanishes (so you can't just destroy the fields inside enemy towns without moving your laborers there).
Everyone makes mistakes so many players want that kind of function but personally I think it doesn't fit KaM, correctly planning/building your city is one of the means to achieve victory. Also, even if this function will be available it shouldn't be "free", so it either have to take more time (compared to build time) or require some sort of resources (which one ?). There are other problems as well, if you have vision of your opponents town what will prevent you from abusing this function ? Also, assuming you can remove fields, how does that exactly help you ? As you can see in the screenshot
one player was able to mess with all of us, if we had to spend even more time removing the damage we would fall even further behind. And it doesn't really solve the problem if the enemy uses the road/wine (he might wait there for ages) or just some buildings, you are still screwed.