100 to 200m cable to get around inside the exchange building is not unusual, and anyone who has done a wiring job for a large ethernet install will know how easy it is for cable lengths to be less than optimum.
The speed code is nothing to do with BT optimising routing of phone cables or reducing their lengths, it is simply about giving you an estimate of the speed your line may achieve at the time of ordering.
As for reducing target noise margin, you need to talk to the ISP support team, if after a few weeks of stability the automatic systems have not reduced the target margin.
You have little recourse, as BT is well within its rights to say, this is the best we can reasonably acheive and if not good enough you have a choice
1. Take it
2. We turn off the service say goodbye, and mark the line as not suitable for xDSL services.
Ofcom says that all a BT phone line has to support is phone calls and a 28Kbps internet connection using a dial-up modem.
If I recall you said this was a new build, and it may be something as simple as all the cabling going a direct to your area was already in use, but spare capacity was available on other cables that took a longer route. Remember that until ADSL appeared the distance a phone line travelled was largely irrelevant.
A choke point such as a bridge/river/railway line/motorway all add complications and often drastically affect cable routing.
maps.thinkbroadband.com can give you an idea of what neighbours report, and if the the estimated speed points (one per postcode) can suggest whether you are barking up the wrong tree.