Given that a word can be up to 69 characters long, the number of possible words is greater than 26^69, so there's no way to build a function which given a word will return a 8 byte (or less) value unique to that word.
For hashing function, there are many algorithms which try to produce very well distributed output, but your program would probably work fine with something lazy like adding the ascii values of all the characters in the word together. (I'm sure this is a horrible way to hash ascii text, but my point is that it probably won't be noticeable
) The typical way to use this is to have linked lists for each group of words which hash to the same value. The lists will be pretty short.