I think you and I are on the same train of thought. Here is what I came up with after talking to the team and getting their input. This would generally be used as a place to store Tax IDs, but any ID could be stored here. We even played with the idea of keeping names in here but decided that temporal names should be kept somewhere else if only for the sake of readability.
user_identification_numbers
user_identification_number_id
user_id
country_id **country here instead of on the types for cases like VAT
user_identification_number_type_id
user_identification_number
validated **true or false (web validation or possibly by hand)
validated_timestamp **when validation happened
start_timestamp **start of the validity of this id
end_timestamp **end of the validity of this id
entered_by **who put the id in
user_identification_number_types
user_identification_number_type_id
user_identification_number_type_name
user_identification_number_typedescription
**This table will ultimately be replaced by a rules engine in development which explains the country_id appearing here AND in the user_identification_numbers table. Names are also stored temporally with their purpose which would relate to user_identification_numbers by date range.
country_user_identification_number_type_xref
country_user_identification_number_type_xref_id
country_id
user_identification_number_type_id
sequence