Klappt es denn mit domain.de/category/news/2009/?! Das "category" kannst Du ja im Backend einstellen, ggf. auch auf etwas wie "archiv" oder so.Wo hast Du diesen Code denn eingesetzt? In der category.php? Du solltest dabei auch noch prüfen, dass das, was Du aus der URL parst, auch wirklich eine Zahl ist und andernfalls ebenfalls das aktuelle Jahr nehmen. Dann wären die Kategorieseiten immer jahresbasiert, ob es in der URL steht oder nicht. Falls Dich doppelter Content interessiert, könnte man vom Archiv ohne Jahreszahl auch auf eines mit der aktuellen weiterleiten.
Auch dann sehe ich aber noch nicht, wie Du die Jahreszahl in die Links zu weiteren Seiten bekommst. Das braucht doch noch mal Extra-Code, oder?