Большинство систем, которые я видел, жестко кодируют значения таблицы поиска и живут с ней. Это потому, что на практике кодовые таблицы редко меняются настолько, насколько вы думаете, они могли бы. И если они когда-либо изменятся, вам, как правило, нужно перекомпилировать любые программы, которые все равно используют этот DDL.
Тем не менее, если вы хотите сделать код обслуживаемым (похвальная цель), лучшим подходом было бы преобразование значений в файл свойств. Затем вы сможете позже отредактировать этот файл без необходимости перекодировать все приложение.
Ограничивающим фактором здесь является то, что ваше приложение зависит от своего внутреннего состояния от значения, которое вы получаете из справочной таблицы, что подразумевает определенную степень связи.
Для поиска, где приложение не не использует этот код (например, если ваша таблица кодов хранит список двухбуквенных кодов состояния для использования в раскрывающемся списке адресов), тогда Вы можете лениво загружать коды в объект и получать к ним доступ только при необходимости. Но это не сработает для того, что вы делаете.