Для стандартных фамилий достаточно массива с вариантами окончаний - есть достаточно общие правила.
По
этой ссылке, например, довольно подробно расписано.
Можно в соответствии с этими правилами создать массив пар для каждого (или только нужного) падежа. Но зависимость от ударных/неударных букв, пола человека останется неучтенной.
Есть фамилии, которые склоняются в соответствии с полом. Например, Сергею Коню и Светлане Конь.
Склоняются фамилии, заканчивающиеся на неударное А, на ударное - не склоняются. Режиссеру Куросаве и художнику Дега.
Поэтому самым правильным вариантом стало бы изначальное (при вводе фамилии в систему) создание списка с нужными формами фамилий. Возможно, список создать автоматически, но дать возможность оператору внести исправления в случае непредусмотренного исключения.
Любой другой вариант будет чреват ошибками, кроме, разве что полного списка исключений.