iMessage - Why is someone prompted to pick one of my connected iMessage contact points?
There are a few cases were this could be helpful, e.g. I change numbers frequently -say because of traveling- and because of that I prefer to connect my mail for iMessages.

But of course contacts can also regular-SMS me at my old number and so on.

To cover these cases (and probably make the logic behind them simpler) they have decided to create the (i)Message threads per phone or mail and not per contact.

As for you second question, there is not really something you can fix. Just ask the other person to contact you on a specific "endpoint" and delete the other threads. Use only that one to communicate.

I suggest you use your email for that purpose, unless you are using regular SMSs too.