I would certainly keep this PersonNumber separate from the Primary Key.
You will find folks who disagree, but in my experience using a natural key as the primary key always turns out to be a bad choice. Things change*.
- Today you format the PersonNumber one way. Tomorrow you get a new boss with new ideas, and the format changes. Then you have the problem of updating not only the one original column "PersonNumber", you have to update foreign keys as well.
- Tomorrow you may need to federate, meaning share records across multiple databases or other systems. So you would have to change the way you do your primary key, such as using UUID values rather than integer values.
- At some point you may well need to rebuild your tables, involving exporting and importing your data. At that point you would want to keep your PersonNumber values but generate new primary key values.
Bottom line is that the job of generating a primary key may seem to be the same kind of job as generating PersonNumber, but they are really two different jobs. Separation of concerns is a guiding principal to avoid brittle (easily broken) software. For example, if the PersonNumber generator gets messed up somehow, at least the rest of the database (primary keys in this table and foreign keys in related tables) would still continue to function.
So use a surrogate key for the primary key. Then separately work out a strategy for managing the PersonNumber.
That strategy may involve the user interface or server-side app incrementing a number to generate the PersonNumber, as suggested by SDReyes on this page.
Another strategy is leveraging the database server to generate a sequence/serial for PersonNumber. If you have a serious database server such as MS SQL Server or Postgres, you should be able to create a sequence/serial generator without being tied to a primary key. You can create a trigger that calls on that sequence generator to assign a default value for new records. A serious database server will be built to handle the concurrency problem pointed out by SDReyes so that the numbers are generated without duplicates. But read the doc, as some serial number generators may have gaps in the sequence, especially if a transaction rollback happens. If that is unacceptable, you may need to find another route.
*If you think this unlikely, ask a programmer or sysadmin with grey hair.