Bukkit Plugin GamemodeWatcher
It watches the gamemodes of players. Therefore you can configure gamemodes per player per world as well as general gamemodes of a player or for worlds.
Beside the gamemodes, it also can activate "fly-mode" for specfic players.