With 5 bits per letter, you have 6 symbols left over. We can use those to represent alternate pairs like "A or E", so you can encode BANDS and BENDS at the same time. Looks like if you pick the 6 highest frequency replacements for each starting letter, you can reduce the full word list size by ~2k words.
A naive lookup table for the replacements is 26 * 2 * 6 = 312 bytes.
edit: oops double counted the reduction