How, if at all, do you enable leads to update their email addresses on file in a way that associates the new email address with the existing record? Is done it via a separate portal that feeds to Marketo? Does a staff member manually update Marketo records if/when the person replies to an email asking that their contact info be updated? Do you not worry about it and the person just has to subscribe with their new email address (creating a separate record in Marketo)? Curious as to what others are doing.
Why would you need a separate system?
All you need is a Marketo form with a New Email Address field and a flow step to copy the value.
Ah; this is why I asked the question!
Do you display their current email address to prevent someone from accidentally changing someone else's record (like if they had been forwarded an email and clicked on a link)? Any other considerations?
Yes, you'd want to show them whose email address they'd be changing.
It's a tiny bit tricky UX because you have to distinguish "That's me, but my email address has changed" from "That's not me."
You may also want to consider to send an email to the new email address for the confirmation and only update the email address field when someone confirm. This will also help you to be in compliant with double opt-in.