ISPs don't want to sell bits & bytes.
Weirdly, in the UK you can often get a fairer deal like this with PAYG and avoid getting capped or ripped off with excessive per MB fees.
For example on Three you can pay £10, £15 or £20 for 1, 3 or 5GB (I think). If you use it all before the end of a month, your access stops & you can chose to pay again or not.
I'd happily pay for an un-capped home connection by the GB like this too if I had the option (though the amounts would have to be higher!)
But here's the thing: ISPs and Mobile companies REALLY hate the idea of selling you bits & bytes. They want to sell you internet access *products*. Packages. Deals. 1000 minutes. *Unlimited* data. This way, nobody is quite sure what they're buying or using. Most customers are paying for more than they use, and anyone using more than average is 'not playing fair' and gets beaten up.