to answer your second question. It is not possible in Mendix to make the empty/blank option in a reference selector go away. You can as Johan suggested create a microflow that substituts the default New button had set the association to the first item of the list. However the user would still be able to select the empty value, so you will have to implement a validation for that. Either use the required option on the page or use a microflow for the save button and validate the reference in that microflow befor saving.
I don't think you can do what you want in the domain model, but what you can do is create some custom logic to achieve what you want.
So in your person-country example, make a microflow that checks for the association with a country object every time you try to save a person object.
Selecting a default value for a reference can be done in a similar way. Instead of using a standard new action, you can create a microflow that creates a new person and immediately sets an association