Every client keeps some kind of a record with a balance for each address
As mentioned, it's not really possible to do that with Bitcoin due to the way inputs and outputs work. But I do have a project underway right now where we are designing an alt coin which works in essentially this way, it stores the balance of all non-empty addresses in a structure we call the "account tree", enabling us to delete ALL transactions after a certain period of time passes (1 week in our implementation). We have removed the entire idea of interlocking transactions and replaced it with a much simpler concept where transactions perform basic operations on the account tree such as "subtract coins from balance of address A and add to balance of address B". Obviously without any type of script system our coin is less flexible, but we've already got support for multi-signature transactions, and many other cool features that aren't really possible without a balance sheet scheme. When you get down to it, people really just want simple types of transactions to perform simple banking functions. If we want this extreme level of scalability we're going to have to give up some flexibility, and that's not such a bad trade off considering that Bitcoin already has pretty strict rules about what transactions are considered standard format.
The other trade off, which seems to be more concerning for most people, is that deleting all the old transactions could lead to a situation where no one has them, since no one is required to have them, and that opens the door for someone with 51% or more of the hashing power to pull off an attack we call "The Secret Chain Attack". In our implementation it would require the attacker to maintain the majority of the hashing power for more than a week (in secret), since all transactions can be discarded after a week. But we believe even if this attack does happen it wont be catastrophic because 1) the attack will only affect nodes who haven't synced with the network in more than a week, all other nodes can detect the attack and reject the fake chain and 2) a possible Secret Chain Attack underway can be detected by new nodes, although they cannot know which chain is the real one. Based on settings specified by the user the new node will either refuse to participate in the network until one chain wins, or stick with the first chain it received, or wait for the release of a "community checkpoint" which would point them to the correct chain in the off chance this attack did happen.
Test thread:
[TEST RELEASE] Cryptonite binary for linux (mini-blockchain implementation)Project Wiki:
Mini-Blockchain Project WikiMore on Secret Chain Attack:
Weaknesses and attack vectors