For anyone in England and Wales, I've posted a function that calculates bank holidays that you may find useful. I make no claims to efficiency, but it does the job!
http://www.sqlservercentral.com/forums/shwmessage.aspx?forumid=23&messageid=110259
You could set it up on a job to re-populate a holidays table every year or something to whatever size you need, then you've got a small holiday table that you don't have to worry about.