Возможно ли передать вместе с ошибкой (в виде элемента массива) и свой код/описание ошибки ?
Конечно, для этого обычно используются исключения. Не везде, но во многих случаях они нормально работают. Другое дело что есть 2 нюанса:
1) При ошибке вебсокет сервера никакую ошибку от собственно сервера вы не получите (он вам просто не ответил), но вы в любом случае получите статус ошибки, который не обязательно отдавать пользователю, а ориентируясь на номер ошибки отдать свое сообщение.
2)
но я хотел бы реализовать логирование ошибок
Надеюсь вы понимаете что с клиентской стороны что-либо делать по этому поводу невозможно, а со стороны сервера и так есть лог ошибок, если это не ошибки логики, которые не ошибки системы, а скорее неверное поведение (типа "поле не заполнено" или "недопустимые символы"). Такие тоже можно логировать, но во первых - а смысл?, а во вторых все равно это реализовывать средствами пыха. И ошибок типа "сервер не доступен" конечно там не будет.
2 Возможно ли как-то заставить Ajax не реагировать на ошибку и обрабатывать ветвь ": function (response) " ?
да, точнее надо просто не обрабатывать результат в success. Смотри ниже.
3 Имеется ли другой объединяющий обе ветви "success + error" параметр на выходе в котором я бы разместил анализ ответа ?
complete