I also had heard that in order to spend a bitcoin, the coinbase transaction of it must have at least 120 confirmations. Why that?
Outputs don't form a tree (merkle or otherwise). They form a DAG. i.e. outputs originally from a single coinbase can be joined back together into a single output. Also, I wouldn't be surprised if there are thousands of blocks linked like this to every recently-generated output.
Newly minted coins cannot be spent for 100 blocks. This effectively eliminates the risk of receiving bitcoins that would disappear when a block is orphaned.