Теоретического ограничения на длину фамилии нет. В международной практике есть разные случаи. Такие, как фамилия одного из жителей Стамбула - в ней 43 буквы. На практике, обычно, фамилии не больше 30-40 символов. Для компьютеров раньше обычно ограничивали, например, через varchar(80) или varchar(255) - тогда была однобайтовая кодировка. Не стоит забывать, что сейчас символы записываются обычно в кодировках Unicode (UTF-8, UTF-16 и т.д.). То есть, реальное число байт может быть больше, чем 80 или 255. Для локали ru_RU.UTF-8 имеет смысл выбирать, например, varchar(192). И ещё, всё зависит от машинных ограничений и задачи.
По информации в Сети, обладателями самой длинной из реально существующих фамилий в России являются люди с фамилией "Христорождественский(ая)".