Hi,
the indexed format should indeed match the search format, so you could replace the text you write in the index - as you suggest - using a FieldBridge to "encode" your string in your custom format.
however, it's easier if you index it as you are doing, and then just avoid using the QueryParser but create the Query using a TermQuery:
Code:
TermQuery q = new TermQuery( new Term( "fieldname", "myapplication:statuscodes:updated" ) );
If you need to use the QueryParser, you can customize the text analysis by defining your own Analyzer. You can either implement one yourself (hard), or use the annotations to create an analyzer definition as in
1.6. Analyzer, you basically just need to create a Tokenizer which doesn't split terms on ":".