Multiple contact entries created for WordPress users if they login with non-primary email addresses
The issue outlined in the question and comments doesn't exist in the latest version of CiviCRM.  Penny mentions that the issues results because "When a Wordpress User is deleted, the WP User ID is not deleted from that contact's CiviCRM contact record".  

I tested that this is no longer the case by creating a WordPress user, running SELECT * from civicrm_uf_match to find the corresponding entry in that table, then deleting the WordPress user.  When I re-ran the SQL statement, I saw that the civicrm_uf_match entry was gone.