Стоит ли придумывать эту проблему? Лучше пойти по первой или второй возможности?
ИМО, нет. Выберите версию кода, которая наиболее читаема .
Если вы получили NPE, которое не можете диагностировать , тогда измените код, как требуется. В качестве альтернативы, запустите его, используя отладчик, и используйте точки останова и один шаг, чтобы выяснить, откуда исходит нулевой указатель.
Является ли создание имени переменной чем-то, что повлияет на производительность?
Добавление дополнительной переменной может увеличить размер кадра стека или увеличить время, в течение которого некоторые объекты остаются достижимыми. Но оба эффекта вряд ли будут значительными.
Есть ли предложение изменить сообщение об исключении, чтобы можно было определить, какой объект является нулевым в будущих версиях Java?
Не то, чтобы я знал. Реализация такой функции, вероятно, будет иметь существенные недостатки производительности.