The only law relating to holidays is the one that states that your employer must give you a certain number of paid holidays in the year. (4.8 times the number of days you work each week. i.e. 24 days if you work a 5 day week).
The employer is free to determine when those days are. If the employer decides that you'll get the first Thursday and the 3rd Wednesday in January, followed by the the 2nd Monday and the 4th Friday in February, etc, etc (i.e. so that you never get two consecutive days off), it's perfectly legal. The employer can also insist that you work, at your normal pay rate, on any public holiday that falls during your normal working week, including Christmas Day. As long as you get the relevant number of days each year (and your individual contract with your employer is not breached), you've got no right to complain.
Of course, you can always ask (but not demand) that your employer permits you to take a day off without pay. In effect, that's what you're proposing. (i.e. you want the bank holiday to be an unpaid day's leave, rather than a day's paid holiday). So you can ask (and, if so minded) the employer could agree but you've got no right to insist upon this arrangement and I doubt that many employers would be prepared to endorse it.
Chris