When the Bitcoin client receives a transaction, it checks if the transaction is confirmed. This is done by verifying that the transaction hashes correctly, in the merkle tree, to the merkle root in a block.
How does the client know which block holds the merkle root of the transaction?
After finding the correct block, how is the merkle branch acquired?