The PIC??EXT.bas files are a "Bridge" between PBP and and all the registers defined by the assembler.

Each PIC has it's own set of registers depending on what features the chip has.
Even between chips with similar features, the registers may be at different addresses.

In the case of the 4431, each registers address is defined in the P18F4431.INC file in the MPASM folder. And since PBP does it's compiling before MPASM gets hold of it, PBP has no idea what those addresses are.

So it uses the PIC??EXT.bas file to define all the possible register names that might be found when using any PIC. That way they become "reserved words" that can't be accidentally used again. And more importantly, makes that name available for easy use in your program. Then at assembly time, only the names that are actually present in that chip become valid, and will have the appropriate address used for the registers.<hr>
The 18F4431 is a bit of an odd ball.
Most of the 18F's have an MSSP module which uses SSPCON1 and SSPCON2.

But the 4431 has the old style SSP module. It does pretty much the same thing, but there are 2 modes that it can't operate in, that the MSSP can. And the SSP module only has the 1 SSPCON register. Hence the problem with the missing register name.

As far as I can tell, only the 2331/2431/4331/4431 series has the old SSP.

hth,