There's no built-in system, but it should be easy enough to set up.
In obj_player's collision event with obj_encounterzoneselector, after line 8 insert some new code:
for(var b = 0; b < array_length(global.encounter_valid_monsters); b++){
for(var c = AMP_FIRST_ACTIVE; c < AMP_FIRST_ACTIVE + PARTYSIZE_ACTIVE; c++){
if(global.active_monster_party[c,amp_MONID] == global.encounter_valid_monsters[b]){
array_delete(global.encounter_valid_monsters,b,1)
b-- //Deleting shifted everything back one step so re-check
break;
}
}
}
(this is completely untested so use with care)
the encounter_valid_monsters array is common to all ects_* (EnCounter Table Setup) scripts so modifying it directly like this means it should work everywhere in the game.