When you poison your food you are basically giving the go ahead for murder, not self defense. The only exception I give is when you absolutely know you will be overrun and your gonna give them nothing but misery when the get to your stores, in which case, all available food left, must be destroyed or poisoned, but this scenario is very unlikely due to time. The idea of poisoning food ahead of time could be detrimental, as one day you may need it for yourself, and two, if you are poisoning food already cached somewhere, how are they gonna find it in the first place?
This just goes beyond reason for me personally, as the likelihood of you killing someone after you are gone, is high and in which case, makes you a murderer.