I don't think there can be an infinite number of merkle trees with a 1MB block size limit.
True.
It can't be any more than 2
8,000,000 possible merkle tree variations (8 bits per byte, 1 million bytes)
Want to convert that into base 10 for me? My calculator won't do it.
Decimal approximation: 7.5612130194946271264814592984191480373499754082086168... × 10
8428839http://www.wolframalpha.com/input/?i=2^28%2C000%2C000 
Given that there are an estimated 10
80 particles in the known universe, and the estimated number of grains of sand that the entire known universe could hold (given average size of a grain of sand) is estimated at 10
90, and the quantity of planck volumes that would fit in the known universe is approximately 10
183, I think we've reached the point where the number of possibilities are indistinguishable from infinite.