This is possible, but you will have to build this in a microflow. Whenever you save the object (Or in a before commit eventflow), you can do a database retrieve on the entity of the object. In this retrieve xPath you want to check the following things:
This way you see if there is a different object in the database, with the same attribute value and association. If this returns a result, don't save the object, but return a feedback message.
Hope this helps!