Жуть.
Во-первых, как отметил
Александр Коротаев, название функции надо передавать без кавычек, либо в кавычках, но тогда со скобками "changeIconChat()".
Во-вторых, для повторяющихся вызовов есть отдельная функция setInterval.
В третьих, для проверки наличия класса есть функция hasClass.
В четвёртых, вы в цикле для каждого класса, не являющегося 'gray' добавляете класс 'gray', в результате если установлен только класс 'gray', то при первом вызове он удалится и в следующий раз цикл вообще ни разу не выполнится. А если есть хоть один класс, кроме 'gray', то класс 'gray' будет устанавливаться на каждой итерации цикла и сниматься на последней итерации ('gray').
function changeIconChat() {
$('.chat').each(function() {
if ($(this).hasClass('gray'))
$(this).removeClass('gray');
else
$(this).addClass('gray');
});
}
setInterval(changeIconChat, 2000);