Thanks to all for your advice, esp regarding the airports in Sao Paulo and Rio.
I have gotten a coach ticket for $1662 for
SEA-YVR (Jazz)
YVR-ORD-GRU (UA)
CGH-SDU (TAM)
GIG-GRU-IAD-SEA (UA).
The UA flights are all CO codeshares, which I found out makes a difference on the way the flights and seating charts show up on the website (seating charts only on CO site, not on UA).
This is about $500-600 less expensive than
SEA-GRU
GRU-SEA
via ORD, IAD, or IAH
so I am getting the YVR and Rio stopovers for less than a simple roundtrip.
Only downside is that I had to get the ticket on Orbitz because UA and CO were pricing in the $4000-7000 range. Crossing my fingers that there will be no problem. I bought the ticket with the Presidential Plus card, so at least I will get some backup in case of illness or IRROPS.
I had the option of GIG-IAH-SEA on CO metal for the same price, but no E+, and the ELR seats are all bulkheads, which I don't like. Will try to upgrade with miles, but if can't get the upgrade, I don't want to be squashed in E-.