Three do a couple of offers where you get either 3 GB or 90 days usage, or at a higher level, 12 GB or 365 days, so everything stops at the end of the appropriate period.
On Ebay I have seen (and bought) some SIMs which have the 3 GB data 'pre-loaded' (someone splitting the SIM pack from the Dongle to sell them separately for a few extra quid I assume), and often priced at under a tenner (I think I was in luck and paid 7.99)... where normally a top-up of 10.00 only gets 1 GB.
I will double check but think either Vodafone or T-Mobile have offered SIMs where the data doesn't expire (at least, not within a year of when first used) but my dongle is tied to Three and I now have a working landline (was having problems, so contract was providing 15 GB of data a month).
Incidentally, I know people think some of these dongles are slow but I used over 9 GB during a 30-ish hour period (downloading mostly, and no, nothing illegal, just Linux CD images). Since Openreach fixed my phone line and installed a new master socket, a couple of weeks ago, I have hardly needed to use the dongle, but felt I should at least use a reasonable chunk of the 15 GB that has been paid for (ended up I used about 12.5 GB instead of nearly the whole 15) - maybe time for me to cancel the contract, get a 3 GB SIM "just in case" and know I have a reserve method of getting online (as I sometimes have to remote-control client PCs - helped 2 with problems on Friday, one on Merseyside, the other in South Wales, so having some connection is quite important for me).