Patterncount ( "KGRNV" ; Left ( Self ; 1 ) ) and
PatternCount ( "AB123456789" ; Middle ( self ; 2 ; 1 ) ) and
GetAsNumber ( Middle ( self ; 3 ; 4 ) ) > 0 and
GetAsNumber ( Middle ( self ; 3 ; 4 ) ) < 1000 And
Length ( Self ) = 6
Might serve as a custom validation calculation in field options.
The rest of what you describe is a bit vague, but you can enter such a value ( or select it from a value list ) in a field with global storage and then this value will be retained no matter what record or layout you are on.
Thanks very much Phil. This worked perfectly!