Change Email Address on Renewal
Petednz is correct.  If a user is logged in, then they can change their CiviCRM e-mail address on a contribution form.  This won't change the Drupal address AFAIK; I'd be very surprised if it did.

If you also want to change the Drupal e-mail address, you'll need to write an extension (or hire someone to do it).  My Domain Access CiviCRM module is conceptually similar and will get you about 80% of the way there.  You can also check out CiviCRM Wordpress Profile Sync for inspiration, since that's the functionality you're looking for, but for Wordpress.