Ah, I understand you! You offer to write a small Postgres contrib module (new dictionary) in C and implement all logic in it. Seems it's a bit complex solution for such a simple task (exclude surnames for lexization), but - it could be implemented, of course.
> Of course I can create all word-forms of all Russian names using ispell and > then - subtract this full list from Ispell dictionary (so I will remove > "Ivan", "Ivanami" etc. from it). But possily tsearch2 has this subtraction > algorythm already. >
don't do that ! Just go plain way.
Another method is to generate a singular synonym dictionary based on all Russian names word-forms using ispell (we will get all suspicous surnames in this set) and add it before ispell. This solution does not need to write anything in C.