Angularjs. Как удалить переменные из scope и при этом оставить верстку?
Да, можно написать свою директиву реализующую подобное поведение. Другой вопрос - зачем? Обычно проблема не в количестве элементов массива а в количестве DOM элементов.
Мне кажется это вразрез концепции ангулара.  Вероятно лучше пометить в $scope.messages некоторые сообщения как новые, добавив их к старым.