To me if it looks like a Number then it is probally a Number. Treat it as such.
You have three component that form the end code. Each of which should be stored in separate Fields. Each one of those should be lookups to another table for Normalisation purposes.
Sorting searching etc can then be done on any of the three components or any combination of the three.
Concatenation and Formating should be done last as part of the Record Source for the Form or Report.
Best wishes for which ever way you go. The one important point I have made is to do with the Normalisation of the table. I am surprised that ChrisO was the only person to pick up on this important issue.
My data is separated into different tables, with relationships between them, using PKs and FKs. Each level has it's own table.
For example:
tblcat1
Cat 1 ID PK
Cat 1 ID
Cat 1 Description
tblCat2
Cat 2 ID PK
Cat 2 ID
Cat 2 Description
Cat 1 ID FK
tblCat3
Cat 3 ID PK
Cat 3 ID
Cat 3 Description
Cat 1 ID FK (I realize this probably didn't need to be added in here)
Cat 2 ID FK