I would like to create an email in Gmail where the recipients list is visible to everyone but it still gives each person slightly different email content. Is it possible? With an addon? Is it possible to also alter the subject?
According to RFC-5322 the recipients ("To", "Cc", or "Bcc") and Subject are tied to the Message-ID.
The "Message-ID:" field provides a unique message identifier that refers to a particular version of a particular message. The uniqueness of the message identifier is guaranteed by the host that generates it. All recipients receive exactly the same message.
If you want to send each person a different message and include in the body a list of people whom you sent the message to you are permitted to do that, of course, but the emailer won't read your message and automatically move body text into sender fields.
The closest you can get to what you are asking for is to use To, and CC, (and everyone's email addresses) in the Header and in the body for the first line write (for example) To: Tom, Jerry, Joe, Sue, Others ...
Now if one person replies then everyone in the Header will see the reply and at the bottom of this message will be a copy of the message you originally sent.
The other way is to send each person an individual message, but then you can't use CC or BCC (which wouldn't make much sense) since that would cause a copy of each message going to each person (showing each person the other's customized messages) to generate multiple incoming messages for everyone (probably not what you want).
Much like making a conference call or talking to a group of people everyone sees (reads/hears) the same thing, you would need to address each person during the conversation (in which case the others hear it too) or take each person aside to give them a private message (and then non-recipients couldn't reply).
To do what you are asking would require a custom program on each end and that means leaving GMail (or any other RFC-5322 compliant mailer) out of the loop.