1) Да. В частности, я бы сделал это, потому что, если вы используете некоторые инструменты ORM (в частности, EF), отношение «многие ко многим» будет автоматически определено, когда ваши таблицы спроектированы таким образом.
2) Я бы предложил сделать это по старинке, чтобы вам не пришлось беспокоиться об интерфейсе пользователя:
alter table HouseOwner
add constraint FK_HouseOwner_House
foreign key (HouseId)
references House (HouseId)
go
alter table HouseOwner
add constraint FK_HouseOwner_Owner
foreign key (OwnerId)
references Owner (OwnerId)
go