Can a merchant find my other bitcoin addresses in the same wallet if it sends me money to one? I would like to do business with a merchant (deposits and withdrawals) but do not want the merchant to know that I am one person making multiple transactions.

If I have multiple addresses in a wallet and only use each one once, will there be any way for the merchant to link those to addresses that I have previously done business with them at?

If so, what is the best way to stay anonymous as I have described?
If you are only receiving funds then no, the merchant cannot link the addresses. The problem is if you are also sending them funds. With most wallet software when you create a transaction it doesn't ask you select the specific unspent outputs to spend so it could possibly spend from one of the addresses you are "not supposed" to be associated with. 

So let's say merchant sends funds to Alice and Bob, but you're actually both when the merchant thinks you're two different people. If you then accidentally use unspent outputs for Bob when you are supposed to only be Alice (for example, later buying something from that merchant or issuing a refund) -- then the jig is up, the merchant now knows that Alice also has Bob's key(s).