It is possibile. It isn't simpler with SQL2005, mainly because it couldn't be any simpler.
Here's an example with SQL2005:
USE testDB
CREATE TABLE testtable (
test INT
)
INSERT INTO testtable VALUES(1)
INSERT INTO testtable VALUES(2)
INSERT INTO testtable VALUES(3)
GO
CREATE VIEW testview
AS
SELECT * FROM testtable
DENY UPDATE ON testtable TO testuser
EXECUTE('UPDATE testtable SET test = test + 1') AS USER = 'testuser'
--Msg 229, Level 14, State 5, Line 1
--The UPDATE permission was denied on the object 'testtable', database 'TestDB', schema 'dbo'.
EXECUTE('UPDATE testview SET test = test + 1') AS USER = 'testuser'
--(3 row(s) affected)
DROP VIEW testview
DROP TABLE testtable
Regards
Gianluca