It depends on the parsing code, and the option. Most modules read options sequentially and look them up, and I think that applies to chan_pjsip, but others, did, or do, go through a list of possible options, and see if they exist in the configuration, which results in a first occurrence wins behaviour. At least that used to be the case.
Also some repeated options act incrementally, That’s true for codecs, but I think it is also true for permit and deny, in which case, I think the above results in all but the two addresses, in the deny lines, being permitted.