What you suggest is a new column type, and that would be something that needs to be reviewed and implemented by the PostgreSQL developers. Since it is not a SQL standard, I doubt it has much chance of implementation. That being said, you should understand that all triggers require the need for an associated trigger function. A simpler way to accomplish "WORM" is with a RULE.
EG:
CREATE RULE table_worm AS ON UPDATE TO your_table WHERE NEW.your_column <> OLD your_column DO NOTHING.