No, your bank cannot take a payment of benefit to repay an overdraft, if you have told them that you want to pay specific bills from the money paid in.
This is called first right of appropriation and can be used to protect wages and benefit payments, from being used to pay overdrafts rather than certain essential bills.
How does this work ?
You need to contact your bank before the payment is made to your account, asking them to set aside the amount so that it can be used to pay a certain bill.
More information and a template to help you contact your bank, is available at nationaldebtline.org