Почему при нажатии на кнопку в диалоговом окне появляется NullPointerException?
Давай так, что ты ожидаешь от данного кода? addSubjectDialogButton = (Button) findViewById(R.id.addSubjectDialogButton);
Надо понимать, раз налпоинтер, значит указатель на addSubjectDialogButton нулевой, а это значит что на момент поиска кнопки с таким id её просто не было в разметке активити. Оно и понятно, эта кнопка же находится в разметке диалога. 
Вообще стоило сперва читать офф доки.
Тут мне подсказали решение моей проблемы. Для нормальной работы нужно разместить addSubjectDialogButton = (Button) findViewById(R.id.addSubjectDialogButton); послеdialog.setContentView(R.layout.subject_dialog);
и исправить наaddSubjectDialogButton = (Button) dialog.findViewById(R.id.addSubjectDialogButton);