Как определить факт изменения модели или скоупа angular.js?
Встроенных средств нет. 
Правильнее написать директиву, которая будет слушать изменения в модели. При сохранении вы к примеру генерите событие, при котором эта директива сохраняет текущее значение модели. При несовпадении модели и ее последнего сохраненного значения директива выставляет на элементе определенный класс.
э не, это вам надо свой ватчер использовать... у формы есть $pristine/$dirty но оно поможет вам только один раз. Затем придется перезагружать для того что бы директива успешно переинициализировалась. Слишком кастомная задача.