I can empathise with the procedural outlook too 🙂
If you set the items in your dropdown list to 'Fetch records dynamically as user types' in the presentation of your referenced attribute on your form, the list won't be 300 long to choose from, but instead will display and fill the form field with only valid options as the user types.
For example, if the user types first letter C, only the codes commencing with C will be presented as options and a simple click can then complete the field entry. It's quite user friendly too compared with having to type in a complete code each time.
Might be worth looking at .....