In ServiceNow, spUtil.recordWatch adds a watch on a set of records. But how do I remove the record watch or replace it with a different filter?
You can't.
I'm working intensively with serviceportal an haven't seen or found anything to do that. The documentation says it returns a promise with the return value of the callback you put in in the first place, so there's no cancelling like setInterval does, where an ID is returned.
https://developer.servicenow.com/app.do#!/api_doc?v=kingston&id=SPU-recordWatch_O_S_S_F