Well all the txns are distilled down to a single merkle root hash which only has 256 bits. Originally I was thinking an infinite number of merkle trees but that doesn't matter because there is still a finite number of merkle root hashes. Still even with nothing else 256 bit for merkle root hash + 32 bit nonce + 32 bit timestamp = 320 bits. Still infinite or finite as you pointed out unless you some subset of the values are more likely to produce a solution it doesn't matter where you start.
I don't think there can be an infinite number of merkle trees with a 1MB block size limit.
While we are the topic, why does Bitcoin use a double hash for the Merkle root?