At the moment, at least some parts of Gabble decide whether to use PEP for a contact's properties based on whether we have PEP on our own server. This is clearly wrong.
The way to do this is probably to just try it, and if the error we get is service-not-implemented or something, cache that fact (perhaps in the presence cache) so we don't try it again. If I remember correctly, we do this (but without the caching) for PEP nicknames.
Alternatively, we could disco the contact's server and see if it has PEP, but that's probably a waste of round-trips.