If the Witch steals the power of the warlord and tries to destroy a player's district, are they protected if they have the bishop?
No

The Witch doesn't get to destroy a district when she is revealed - she skips her turn after taking an action, and only gets to play when (if!) the Warlord is revealed.  By that time, player B has already been revealed to be the Bishop, and is immune to the bewitched Warlord's power.