Here is my solution. hopefully, it's self-explanatory. I've created a class that accepts three parameters; a node list of select elements, the excluded option value, and a max number of occurrences.
var selects = document.querySelectorAll('[js-select]');
var optionCheck = new OptionCheck(selects, 'Ppl', 2);
At startup and after every change event, I set values and then check values. If there are as many selected options as there are the max number of occurrences, then the other select's option is disabled.