Getting in to IT is difficult, for the reason you mention. I have often suggested doing unpaid work as you suggest but I have no idea if it would work or not.
I'm not sure of the legality of a company employing you for "free" as their are minimum wage issues to consider. But you could try it.
You could however look at doing voluntary work for a charity, they will be better able to deal with those sorts of issues. While most charities on a public facing level seem like they have no organisation behind the scenes there will be a central office which runs in the same way a commercial company would.