I've made something that checks when the selection changes: http://jsfiddle.net/ckyBj/1/
This is probably th ugliest code I've written, but it works. You can probably make it a lot more compact though.
$(document).ready(function () {
$('#taskPriority').on('change', function () {
var theval = $(this).val();
console.log(theval);
if (jQuery.inArray('lowImp',theval) > -1) {
$('#taskPriority').find('option[value=highImp]').prop('disabled', true);
}
if (jQuery.inArray('highImp',theval) > -1) {
$('#taskPriority').find('option[value=lowImp]').prop('disabled', true);
}
if (jQuery.inArray('lowUrg',theval) > -1) {
$('#taskPriority').find('option[value=highUrg]').prop('disabled', true);
}
if (jQuery.inArray('highUrg',theval) > -1) {
$('#taskPriority').find('option[value=lowUrg]').prop('disabled', true);
}
if(jQuery.inArray('lowImp',theval) == -1){
$('#taskPriority').find('option[value=highImp]').prop('disabled',false);
}
if(jQuery.inArray('highImp',theval) == -1){
$('#taskPriority').find('option[value=lowImp]').prop('disabled',false);
}
if(jQuery.inArray('lowUrg',theval) == -1){
$('#taskPriority').find('option[value=highUrg]').prop('disabled',false);
}
if(jQuery.inArray('highUrg',theval) == -1){
$('#taskPriority').find('option[value=lowUrg]').prop('disabled',false);
}
});
});