Since BSNL uses ADSL broadband technology, the speed will definitely be sensitive to distance. The connection tends to be slower, the more you are away from the exchange.
This has a reason for it. The data is transmitted through the copper wires. These are the same wires that transmit your voice calls. As is well known, the quality of the signal gets degraded with the distance. This degradation is referred to as Noise in technical terms.
You might have experienced the noise you get while talking over the phone lines. It is the same phenomena that affects your data lines as well. Since the data is transmitted along the same lines, you get the same issues with your data speed. But, unlike voice signals, digital signals cannot handle missing data and thus any missing information is needed to be sent again. This is exactly what reduces your download/upload speed.
The noise is created because of the resistance, inductance and the capacitance of the copper wires. All these factors together contribute to the amount of noise and hence the speed.
In fact. BSNL uses ADSL ( Asynchronous digital subscriber link) technology to provide broadband connectivity. The copper wires used in this connection offer resistance to the data signals being sent through them. This resistance increases as the distance increases. The optimum distance for a better speed is woukld be between 3 to 6 km. Further distance would definitely slow down your broadband speed.
The noise can be avoided using micro filters. Check if your service center offers any such services like the micro filters. I do not think BSNL has any such plans.
Live....and Let Live!