There's nothing special about contacts. They have a first name and a last name and belong to a phone.
Of note, though, they can have multiple phone numbers associated with them. These phone numbers are internally referred to as a Contact Phone Number.
If a contact is blocked, all messages from all phone numbers associated to the contact are automatically put into the Trash folder of your messages. They are not marked as read, and no integrations will run.
Only the phone calls from the individual phone number are treated as blocked. Admittedly, we do not know why we made this behave this way, but it does.
Not at this time. Let us know if you want this feature though.