-Surrogate Key

Assuming the application is going to insert more rows in the affected table I would go with a SEQUENCE.


- Partitioning

Tables are partitioned for one of two reasons -if you get lucky both of them; a) to help improve performance during quering and, b) to help improve performance during purging.

Ask yourself if your partitioning strategy matches any one of these cases.
If your honest answers are: No/No then partitioning strategy has to be revised.