do transaction merkle trees have any use outside individual blocks?
The merkle tree means that you can verify the existence of a transaction in a block while only having the header, the transaction, and the merkle tree itself. It allows SPV clients to act extremely quickly and securely while only using the bare minimum of bandwidth. MultiBit is a SPV client that works in this way, and is extremely quick as a direct result.