I'd also recommend comparing the tags on an armor the test character is proficient with versus the tags on armor your character isn't proficient with. There's a tag in the Helper group that is what controls whether the non-proficiency "no-smoking" sign is displayed - you could use an eval rule to assign that tag if you don't find the appropriate proficiency.
Adro85, may I suggest a more compact form for that prereq:
#hasfeat[fExoticArm] + hero.tagis[Race.Dwarf] <> 0
Now that it only takes up 1 line, you can put it in an exprreq. Or as a prereq:
validif (#hasfeat[fExoticArm] + hero.tagis[Race.Dwarf] <> 0)
(if @valid is not equal to 0, it's valid, so if the character has exotic armor proficiency and is a dwarf, the expression will total 2, which is valid.)
The way I'd try to add specific armor selection to the Exotic Armor proficiency is to start with something that acts like weapon focus - but allowing you to pick a specific armor.
On the exotic armors, you'll need to use the User tag group (the next-to-the-last option), and create User.ExoticArm, and then put that on all the exotic armors. You can then have your feat only select from among armors that are exotic.
Now, define another user tag on your feat - ExoticProf. The script on your feat will use a foreach to search through all the exotic armors, and find those that match the unique Id of the feat's selection:
compare(eachpick.idstring,focus.idstring) = 0
(you've previously set the focus to whatever armor the feat selected).
If that comparison works, then assign the User.ExoticProf to the armor you've found.
The prereq for each exotic armor will still be limited to figuring out whether or not the character has the proficiency or not, but an eval rule on the armor can check if the feat has assigned User.ExoticProf or not, for a second, more specific test.