Если я не ошибаюсь, ограничение не в самом языке, а в формате файла классов, который ограничивает имена до 64 КБ, поэтому для всех практических целей длина идентификатора не является проблемой.
В частности, это определение константной строки в пуле, которая, по-видимому, подразумевает, что максимальная длина составляет 16 бит:
CONSTANT_Utf8_info {
u1 tag;
u2 length;
u1 bytes[length];
}
Имена классов могут быть более серьезной проблемой для файловых систем, я согласен, я не уверен, что в настоящее время поддерживается.