You can't 'buy' a trading name, as such.
If you own a business trading as, say, 'Sparkles Window Cleaning', there's no specific legislation to prevent anyone else from opening another business under the same name. There might be lots of different firms, all over the country, using that name without any problems. However, if you built up a good reputation locally for window cleaning and someone else opened a company in the same area, with the same name, which resulted in you losing business to them, you could use common law to bring an action for 'passing off'.
However, while you can't 'buy' a business name, you can register a trade mark which, under certain circumstances, effectively does the same job:
http://www.ipo.gov.uk/whatis/whatis-tm.htm
An alternative route to protecting a business name is to set up a limited company with the required name:
http://www.companieshouse.gov.uk/about/gbhtml/ gbf2.shtml
Chris