Google 18866
If you subscribe to 18866, on domestic calls you pay an initial connection charge for making the call, but then it doesn't matter how long you are on the phone. During the week, it's 4p. So you can be on the phone for an hour for 4p.
If you call the states, you get a recorded announcement at the start of the call telling you how much you will be charged. Last time I called the US using 18866, it was 12p pre minute. I was on the phone for about half an hour, and it cost about �3.60.