заглавные буквы идут в кодовых таблицах подряд. По идее, будет достаточно что-то типа:
WHERE substr(word, 1, 1) BETWEEN 'A' AND 'Z'
если таблица word меняется нечасто, добавь в неё отдельный столбец, содержащий первую букву, и сделай индекс по нему. Может значительно ускорить дело.