With the following code, flyspell at least shows such spelling errors. The list should be expanded.
(defvar flyspell-wrong-one-letters '("i"))
(defadvice flyspell-word (before one-letter activate)
"Check one-letter words"
(when (and
(if following (looking-at "\\<[[:alpha:]]\\>")
(looking-back "\\<[[:alpha:]]\\>"))
(member (match-string 0) flyspell-wrong-one-letters))
(setq known-misspelling t)))
I just looked at flyspell, not ispell. I know that this is not really a solution for you ... Sorry.
source
share