you should treat layer intersection and wall priorities as two distinct things.
layer intersection priority prevents any element from interacting with any other element on a layer who's intersection value is different.
skin priority controls how those element's constitute parts do interact with each other when they are allowed to do by layer intersection.
see here for an overview of my skin priority thinking:
http://archicad-talk.graphisoft.com/viewtopic.php?p=82488#82488
although i have to say i've moved on a bit from that now. as you say, fire- or acoustic-rated wall skins need to be considered such that any non-rated skin butts into them rather than joins. i do this by increasing the skin priority by one notch for any rated skin. it seems to work. occasionally there are times when i need to manually over-ride, or - as a last resort - model each skin separately. but this is very infrequent.
the drawback of this approach is that it does become a high-maintenance process. all of your users need to be on board and understand the principle or you will be spending your time unravelling wall junctions . . .
HTH
~/archiben
b e n f r o s t
b f [a t ] p l a n b a r c h i t e c t u r e [d o t] n z
archicad | sketchup! | coffeecup