Contacts are automatically inactivated if an email that is sent to the contact bounces back as undeliverable. It is not possible to prevent contacts from going inactive when their email bounces back as undeliverable.
Inactive contacts are hidden from view unless an members selects inactive contacts from the contact group from the drop down. This is done to protect the contact while retaining their information in case they come back, and help keep the report clean. Since a person has taken the trouble to optout, we need to ensure that the members honors the request, which is why we cannot show the email or allow normal access to inactive contacts. We could delete the contacts, but then any details, notes, etc would be lost in the event the person decides to return (plus people would claim their contacts are completely disappearing).