Assuming you're in the UK, try this: http://www.financial-ombudsman.org.uk/consumer/complaints.htm
Odds are that if you go and talk to your local branch manager you can get things cleared up... starting out with "how much can I get in compensation" is not how you want to approach them.
Banks, like all businesses, have certain rules as to how they run their business and with whom they do business. You triggered something in their system and just need to explain in a civil manner to the local branch manager what is going on, see what you need to do to keep things working for you and follow their protocol. Many times a bank will make adjustments from their "posted rules and regulations" when they see what you are doing.
Call them up, make an appointment, dress appropriately and act like a professional when you go there and clear up any misconceptions the bank may have about your business dealings.
Since everything on my end is legitimate can I ask for compensation from my bank for blocking access to my account (online only, I can still spend money in shops)?
I hope this is the caseYour bank has not penalized you - it's protecting you. And that's a good thing.
Their system has probably been triggered by an unusual online transaction and it stopped the funds leaving your account.
All you need to do is speak to them and verify it was you and they'll lift the restriction.
Rather than looking for compensation you should be happy that if someone had accessed your account they would not have been able to steal $4K from you.
It also makes sense that they haven't lifted the online restriction because until you speak to them they don't know that it wasn't a fraudulent transaction