Disable/enable PostgreSQL trigger inside function for the same table
One option would be to:


Jack up the security on the table so normal users can't directly access it at all, and remove the protecting trigger.
Create an updatable view on the table which is accessible by normal users, and add an INSTEAD OF trigger to protect the column from updates (assuming you want it still visible; if not, simply omit it completely from the view definition.)
Create a function with definer's rights which bypasses the view and directly updates the column in the base table.