Another approach might be not to minimize for number of characters, but for syllables. For instance, "VX" is two syllables, while "vex" is only one. So if you're looking for easy ways to produce readable IDs, you could look at something like
(which isn't meant to be reversable, but might be a starting point).