If you don't have any prisoners right now, you could forbid the food in the prison, so that at least it won't get eaten for the time being. But then you have to remember to unforbid it when you have prisoners. Alternatively if there is a door on the prison you could lock the door once the food is stocked (if you have not prisoner).
I *think* what might be happening is that dwarves will grab whatever food is closest to them when they decide that they are hungry, and then go to the dining hall. I am not sure about this, and have not tested it, but it seems like this is what happens in my fort just based on casual observation. I know there is also a tendency to eat food containing ingredients that they prefer (so if the food in the prison has a rare ingredient that lots of dwarves like you could have a problem), but I am not sure if they choose food based on overall quality.
If this is true, then you could eliminate the problem by placing your prison in at out-of-the way area so that dwarves will not be near it most of the time. Keep in mind that "near" means straight-line distance in 3 dimensions, not the distance of the required path.
You could also designate burrows to which you assign the majority of your dwarves, which do not include the prison, to prevent them eating from there. Then you of course need to make sure at least a few haulers have access to the prison to stock it.
If none of this works, you could create a 1x1 dump zone on top of a level-controlled floor hatch directly above the prison food stockpile. Then disable all other dump zones and designate desired food+booze to be dumped. Then open the hatch to drop the food into the prison, and make sure to reclaim it. Then keep the door to your prison locked except when a prisoner needs to enter/exit. This requires an annoying level of micromanagement, but should guarantee that no one touches your prison food stockpile.
Edit - it appears I was ninja'd, but Larix has confirmed my suspicions so that's good that we agree on the solution.