I believe you are mistaken about not being able to modify a primary key. At least using mysql you can. Primary keys just have to be unique. Since presumably you would have no overlapping areas in your db, you should be able to guarantee uniqueness without an additional id.
The following does work as long as 1,1 is not already in the db.
CREATE TABLE `test` (
`x` int(10) unsigned NOT NULL default '0',
`y` int(10) unsigned NOT NULL default '0',
`data` varchar(255) NOT NULL default '',
PRIMARY KEY (`x`,`y`)
) TYPE=MyISAM COMMENT='test';
INSERT INTO `test` VALUES (1, 2, 'testdata');
UPDATE `test` SET `y` = '1' WHERE `x` =1 AND `y` =2;