The only way I think you can do this without custom programming is to use a PDM Template (Professional only) to let the user enter, or select, the customer code and project category code (although the values could also come from folder variables if set up to provide that), and use a Input Formula to concatenate the values together.
If P-0000 changes for every part, ie P-0001-C21-A1....P-0002-D22-B2
Then set up the SN like this, and use drop downs or edit boxes for "C21" and "A1" on your template cards, then have your PN = the input formula of the SN-Customer Code-Project Category. Bottom right of the card editor. Just like Michael said above.
If the P-0000 part can be the same between customers/project categories: P-0001-C21-A1....P-0001-D22-B2
Then you should set up SNs for every combo of customer and project codes. And then you'd need templates for every one of those combos.(Hopefully this isn't the case. Been there, done that, not fun)