Obviously the length of the code also depends on the amount of valid codes that you will give out, because a "guesser" need to hit any one of them.
Simply mathematically i think that if you want to keep it short then the best way is to expand your character map as much as possible. Right now you use only 28 allowed chars. But with the whole alphabeth in upper and lowercase and numbers you can get 60.
Of course people will then have problems with similar symbols but maybe this could be resolved with the choice of a proper font.
And one more thing is that if you decide to have a longer code then think about dividing it into smaller groups for better readibility: NRMA-LE8H , NR-1234-8H, NR MA LE 8H,...