The question of "Do we have free will?" always becomes a lot less confusing if you question the question itself, by asking what you mean by "free will" in the first place. There are some nice posts on Less Wrong that deal with this, they're worth a read if you're curious:
http://wiki.lesswrong.com/wiki/Free_will_(solution)