Why isn't "citizen" spelled as "citisen" in British English?
Solution 1:
There is a suffix that is written only as -ize in American English and often -ise in British English (but not always, as ShreevatsaR points out in the comments). This suffix attaches to a large number of words, thus the s/z alternation shows up in a large number of words. Citizen does not have the -ize/-ise suffix.
Solution 2:
It's possible that the etymology of citizen is linked to that of denizen.