If you're trying to write a replacement config, it might be better to just do this, because (AFAIK) no other vehicle uses the PMC pilot: (I've used RU_Soldier_Pilot, but you could use anything... I also don't know the classname for the PMC pilot, and I can't find it on the place I normally use to get classnames....)
CODE
class RU_Soldier_Pilot; //External Class reference
class PMC_Pilot: RU_Soldier_Pilot
{
};
As far as I know, it's not possible to write a class replacement for an object in the same config you're referencing it in without the engine exploding from some sort of recurrence
(or, you know, a "error in Config.bin line XX: class XYZ already defined" error... you could probably around this by using two different config files, but that might actually cause the engine to explode, so I wouldn't recommend it.)
You'd need to either have the original config to base your work off (which in PMC's case isn't possible, because, as you say, it's locked) or define a whole new class. Which I'd recommend, because it means you don't break every mission made ever