for Q1, it seems too obvious so I must be missing something. Suppose both fields contained numbers but you had set their data types to text and joined them. Then you changed one to number data type (e.g. long integer) but didn't change the data type of the other end of the join. It stands to reason that you would not be able to re-establish the join, never mind enforce referential integrity. It almost sounds like you're saying you can make the join and save it, but you can't enforce referential integrity. That doesn't make sense to me, but then I've never tried to join 2 fields of dis-similar data types.
As for Q2, that is a highly subjective question. Employ pleasing aesthetic design might be an answer. I wonder if you are overly concerned about eye candy before getting the operation and efficiency worked out...
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.