New Website Users Connecting to Existing Member Record
I believe how well this works will depend on your unsupervised deduplication rules set in civiCRM. If you used external ID, I think you would actually need to change the default rule as well.

If you haven't made any changes, then requiring first name, last name, and email address when creating a Drupal account will link the Drupal user to the correct civiCRM contact (and related membership) the vast majority of the time (As mentioned by petendz in the comments). 

This is the setup that we use, where all membership is managed in civiCRM but not all members are Drupal users. The only times when we have user accounts mis-linked is when someone signs up for a Drupal account and uses an email address that we don't have in our database and spells their name differently.

In those few cases, a staff member can easily merge the civiCRM records and maintain the link to the Drupal account, not requiring any action from the users perspective.