re phone calls... the 0845 numbers came into use in the mid-90s/late-90s (my ISP had an 0345 number, and 0845 became the generic 'local call' rate later, because 0345 was used by BT and 0645 by Mercury [Cable and Wireless]) to allow for local call rates.
Back then, local and national rate calls were charged differently, so it did mean a saving. (I know, because in the 80s I had to write phone billing software, taking account of lots of different charging methods!)
These days, 0845 is no cheaper (indeed often more costly) as there's no longer a distinction between local and national calls, whether dialled from mobile or landline, as far as I know.
From a mobile, 01/02/03 should all be included. 0845 and 0870 might be included. 0870 is more often than not, but 0845 is not included on most mobile networks.
Some landline services include 0845/0870 at weekends, or at off-peak, or all the time if you pay for an 'anytime' package deal.
It's cheaper therefore to dial a truly geographic number than one of these 'more convenient' 08xx numbers, unless you are dialling an 0800 [/ 0500 / 0808 ] number from a landline, which is perhaps the only type of guaranteed free call !
I have 5x 0800 numbers and 5x 03xxx numbers (which can be called from 'included minutes' on contract mobiles, and at a lower cost than 0800, from PAYG mobiles, and of course the 0800s can be called for free from a phone box [for anyone with only a PAYG]).