I have a difficult client.  Every bill is argued and debated over, and each email is parsed with a lawyers eye (because he's a lawyer), looking for a way to avoid paying for something. No amount of generosity on my part is ever reciprocated. 

The client currently has 60% of his bills unpaid (these are invoices he signed off on), and it is a substantial amount of money.  How it got to this stage, admittedly is a product of my own naïveté.  

Since the client hosts his own code, I can't shut off the hosting and demand payment.  Is it legal to install a remote "Kill Switch" to shut down the customers code unless bills are paid?

At 60% unpaid bills, the very least you need to do is to stop all further maintenance and support of your code for this customer until they have paid in full.  

Also realise that you aren't doing this (stopping maintenance and support) to punish the customer - it's simply common sense self-preservation for you and your company.  If all your clients would string you along like this you would very quickly end up with a serious cash-flow problem and go bankrupt.  You cannot afford to do business like this.

For anything else, follow the advice given by other posters:  consult a lawyer!
