That's an idea.
When you are on BT then
Call18866 is cheaper for geographical calls (those beginning 01 or 02) at only 2p per call and can be accessed via short code 18866 although this may also be blocked along with other calls but I'm not sure.
If it is then you can use the Call1899 freephone access number instead as this should work (but try Call18866 as its cheaper for BT customers).
I don't use ADSL so not sure what number ADSL broadband rings but its possibly a freephone 0808 number which should work with call barring.
Alternatively, you could use a
Orchid Dialler which could be setup to bar all calls and this would still allow you to use freephone and Call18866 via its normal short code access number.
It costs about £15 but in the long-run it's cheaper than BT's £1.75 a month (over 9+ months) but gives greater flexability and you can choose your own override code (within reason) for when you do want to make calls. If you're interested in this method then read the MSE forum
here to get 20% off when ordering online.
The problem is that because its a dialler box that needs to plug into the telephone line if someone else notices it and realises what its doing they can simply unplug it and bypass it so if this is possible then the BT method is really the only answer.