Lots of issues here...
1. Upwork's TOS includes a prohibition against sharing confidential information received from a client. So, you have always been subject to that restriction.
2. It is utterly ridiculous for a company to assume confidentiality without an agreement in place. If Company A wasn't aware of the protections in Upwork's TOS, then they were foolish to have not considered this issue prior to you bringing it to their attention.
3. There's a good chance the agreement they send will include additional clauses that you won't want to agree with, proceed with extreme caution.
4. Company A has no right to control whom you work with because you are an independent contractor. You weren't wrong to inform them as a courtesy, but you had zero obligation to do so. If you are going to work with more than one client at a time, you will encounter this situation again. You should evaluate how you wish to handle these situations moving forward.
5. If Company A does want you to agree to not work with competing businesses, they need to PAY you for that concession. This payment is above and beyond what they are paying for your work product.
Based on their reaction to your communication, I would probably be negotiating with company A for a much larger fee for my exclusive attention or begin to make my exit from the relationship.
I have agreed to various levels of non-disclosure, non-compete, etc. with clients throughout my career but you have to be careful about what it is you are agreeing to. The more limits you allow to be placed on your freedom to contract, the harder it will be to expand your client base.
Why do you want to communicate your dissapointment? How does that benefit your business? That's the question you need to answer...and that's what you need to communicate. Keep it professional, keep it business-related, don't volunteer information that isn't relevant or isn't consequential to your business or theirs. Certainly not personal feelings. Never with clients!!
You could say something really short and simple like "I understand that you were upset that client B contacted me. I'm sorry that you feel that way. Rest assured, it's one of my business practices not to share confidential information. That said, I would be happy to read any agreement you send my way."
If there is something in the agreement you don't agree to, just tell them that "I would not be able to agree to clause #X, Y and Z. I would be happy to sign the agreement with these removed."
If they disagree, and you don't feel you should budge (which is your right as a freelancer) just tell them that "unforunately we are at an impasse on this point. Please let me know if you would like to continue working with me under our current arrangement"