It is normal to have a new address for every costumer since a customer's money doesn't necessarily come from a single address. You can see that in this transaction money from 5 addresses was transferred to 2 addresses. It might be that in the case of money coming from several addresses, the seller expects their customers to give them the first addresses of the transaction input or any address of the transaction input but I don't know that.
Most transactions, go from 1 address to 1 or 2 addresses. If there are 2 target addresses, usually one is the address of the recipient and the other one is one of the sender's addresses so they get their change.
The seller probably tries to receive all payments on a single address and wants to link the money received back to the sender's account so the seller knows who paid and who didn't.
It's important that you don't give the seller any address your (probably HD) wallet gives you. From an outside perspective (everyone but you), these addresses are independent of each other. You have to give the seller the address your money came from.
If your wallet doesn't show you which addresses it used to send the money, that's no problem. You can simply go to https://blockchain.info or https://blockexplorer.com, enter your transaction ID, and see which addresses the money came from and which it went to.
Someone knowing your address doesn't mean they can steal your money. In fact, you can just go to https://blockchain.info or https://blockexplorer.com, click on any transaction that's flying by, and see the addresses involved in the money transfer.