You can check a settlement for a certain building, but you can't affect an invading army directly. You could perhaps emulate something using traits...
Code:
;------------------------------------------
Trait PoisonedWater
Characters family
ExcludeCultures goblin ; let's say goblins can't be poisoned
NoGoingBackLevel 3
AntiTraits SafeDrinkingWater
Level Poisoned_Indigestion
Description Poisoned_Indigestion_desc
EffectsDescription Poisoned_Indigestion_effects_desc
Threshold 1
Effect Influence -1
Effect Command -1
Effect TroopMorale -1
Level Poisoned_Puking
Description Poisoned_Puking_desc
EffectsDescription Poisoned_Puking_effects_desc
Threshold 2
Effect Influence -2
Effect Loyalty -2
Effect Command -2
Effect TroopMorale -2
Level Poisoned_Dying
Description Poisoned_Dying_desc
EffectsDescription Poisoned_Dying_effects_desc
Threshold 3
Effect Influence -10
Effect Loyalty -1
Effect Command -5
Effect TroopMorale -5
Level Walking_Corpse
Description Walking_Corpse_desc
EffectsDescription Walking_Corpse_effects_desc
Threshold 4
Effect Influence -10
Effect Loyalty -10
Effect Command -10
Effect TroopMorale -10
;------------------------------------------
Trait SafeDrinkingWater
Characters family
Hidden
AntiTraits PoisonedWater
Level SafeWater
Description SafeWater_desc
EffectsDescription SafeWater_effects_desc
Threshold 1
;------------------------------------------
Trigger PoisonedTrigger
WhenToTest CharacterTurnEnd
Condition InEnemyLands
and SettlementBuildingExists poisonedWells ; not sure if this would work unless you also EndedInSettlement
Affects PoisonedWater 1 Chance 100
;------------------------------------------