If SPV clients didn't exist, would Bitcoin still use Merkle trees? I understand how full nodes use Merkle proofs to convince SPV clients that certain transactions are valid / invalid.

Does the Bitcoin software use Merkle trees in any other way?
The merkle root is included in the block header as a cryptographic commitment of the transactions that were included in that block. Without such a commitment, the POW for the block would be computed independent of the transactions included in the block. Transaction ordering is important, so a cryptographic proof/commitment needs to be included in the POW, otherwise the network would be unable to verify which transactions are in each block. 

The merkle tree structure itself could be replaced by something else (eg just chain all transactions, hash that, and include the result in the header as a cryptographic commitment), but using the merkle tree structure has some added benefits (faster verification for SPV wallets, for example).

There may be some other reasons I am not remembering, but the cryptographic commitment is the most obvious that comes to mind.