No, telephone companies do not charge for your number to be ex directory. We have always had our numbers ex directory on Telewest and BT.
You can have the choice of just not being in the phone book, but available on 118 services or not listed on both.
Being ex directory doesn't mean sales people can't and won't call you though, for that you need to register with the TPS.
Being ex directory also doesn't mean your CLI with be withheld you can choose to have all calls CLI withheld or just dial 141 before the number.