Unfortunately your idea cannot be implemented by the Civ3 executable -- or at least, not the wide variety of possible disasters you listed.
Disease-related population losses can be tied to specific Terrain-types (Floodplains, Jungles and Marshes in the unmodded game), which can then (at least in theory!) be mitigated by learning a certain tech (Sanitation in unmodded) or building a certain building (Hospital).
However, the only "disasters" available in the Civ3 engine are the already-included Volcanic eruptions (turned on in unmodded) and Plague (turned off in unmodded, but used in e.g. the Middle Ages Conquest) -- but these are activated in the .biq, and if enabled, cannot be 'disabled' by any player-action taken in-game.
Ironically, the original CivDOS did actually work more like the way you describe, with the occasional disasters of e.g. Floods, Volcanoes, and Pirate-raids (to name three, there may have been a few others that I've now forgotten

) being dependent on a town's local geography (IIRC: on a River, on a coast, and/or near Mountains, respectively), and which could be deactivated by completing a specific building (City Walls, Temples, and Barracks, respectively).