Legality issues aside (each one is responsible for their own actions), just looking at this from a purely technical view point (as what would one do with the P2 to make unauthorized copying practically impossible):
All the previous suggestions assume that the ROMON bit in CONFIG is either off (throwing off 32K of code space and the related security they offer), or that the internal memory is mapped at the lower 32K ($0000-$7FFF, possible for the P2 using the ROMAD bit in CONFIG) which again would compromise security. I think if I were to choose a secure version of this device (indicated by the fact EEPROM is erased while trying to enter bootstrap mode) I'm serious about security so I would not allow for any backdoors either (unless I didn't know any better), such as let someone replace my external memory chips with their own with code to copy both my CONFIG & EEPROM, and the internal ROM mapped necessarily in the lower 32K.
With the internal (EP)ROM enabled and mapped at the upper 32K, the program always starts from the internal vectors (even in expanded mode, so checking the state of my MODB/MODA pins during reset would not help), not the external memory, as the internal resources have priority over external ones. So, it's going to be (next to) impossible to even get a program started from external memory (without entering boot modes that would erase EEPROM).
In my hypothetical design I use the external memory to hold some extra code and data, but certainly not my vectors and startup code.
So, I think my potential cloner would be out of luck. What do you think?