There are four philosophically strong arguments that God cannot have free will. Here they are:
An omniscient being cannot have free will because it is predestined by its own certain knowledge of its future actions. To change its mind would be to contradict its omniscience.
A perfectly benevolent God cannot have free will because there is only one perfect course of action, which God, being perfectly good, must follow. Even if it could choose its future actions, there is only ever one course - the most perfect one. To exercise free will to veer off this course contradicts God's perfection.
The creator of time cannot have free will: if God exists outside of time then it is immutable, unchanging, and as such it has no mental states except one everlasting and perfect state. Choices require changes in mental states over time. An eternal being that created time cannot already have free will.
If God created free will then it cannot itself already have had free will before it done so: yet, an omniscient being already knew (before it created free will) everything it would do. Therefore, any creator-god cannot have free will about any of its actions.
A lack of free will also means that God is amoral. What is the point of saying that God is moral, if God cannot choose to do anything imperfect? How can it be a moral being, if it has no moral choices? The result of having no free will is also that God is a morally neutral (amoral) being.
If you are all-knowing, you know your future actions, what choices you will make, and you cannot change them otherwise your knowledge would be wrong, and you wouldn't be all-knowing. An omniscient being has no free will to choose actions; all its actions are predetermined.
“There is a light switch on the wall; God may either turn it on, or leave it off; but, since God already knows the future, God knows that he will turn it on. That is part of his knowledge. But what if God exercises freewill, and chooses not to turn it on. Is this possible?”
If you knew a decision you are going to make in the future... what would it mean? You would have no free will to change that choice - or - your knowledge was actually wrong. if your knowledge cannot be wrong, it means your future is predestined and no amount of strong will can change it. If, for all of infinity, you'd always known exactly what choices you were going to make and that you could never be wrong, then you'd never have had any free will in any choice, ever.
In effect God is an observer. Any omniscient being has no free will - its entire future is set out and it has no choice but to follow its predestined path.
For more on God's omniscience, see:
Out of the possible options in a situation God always makes the best possible choice because it is perfect and never makes mistakes. In every situation, God only has one choice: The best one. But it is impossible to have free will, if you only have one option in every situation. It can make no choices. There are no possibilities for a perfect God.
When people say that God has free will, they must also mean that God is imperfect. If God is not perfect then it becomes possible for God to choose a less-than-perfect action - and sometimes, being imperfect, it does indeed choose wrongly. If God is not imperfect, then, it has no free will.
A response may be to imagine that God could potentially choose between two equally perfect acts. This is more interesting if you hold that everything God does is perfect by causal definition. But the argument destroys itself: If God chooses one act rather than another, then the act that God chooses must be the better act in order for God to have chosen it. Either that, or God behaves randomly (which is not free will). When God acts, it does so perfectly... so there are therefore no "choices" to be made: Whatever choices God makes are the best ones (even between two apparently perfect options), and therefore a perfect God cannot possibly have any genuine free will.
God, as the ultimate creator, created goodness. God is also said to be perfectly good (omni-benevolent). This means that God fulfils every possibility of the goodness it has created. It is the be-all and end-all of goodness, perfectly and unerringly good. This causes multiple contradictions including a lack of free will for God.
In any situation, of all the possible things God could do, God does the perfectly morally right one. It never chooses an inferior course of action because it is perfect. If it acted imperfectly, it would not be perfect.
So, in any situation of moral worth, a perfectly moral God has no choice: It must carry out what action is most good. In the exceedingly unlikely situation that a situation has two equally moral options, then, it is no longer a moral choice to select which action to pursue. God, in creating goodness, and being perfectly good, is completely limited to only a predetermined series of actions. In any situation, at any point in time or out of time, God has no free will: It must robotically and automatically carry out the precise action that is perfectly good.
But this robotic nature contradicts the very nature of goodness. You must have free will to choose, if you are to be considered a moral being. If you have no choice, you are not making moral choices. A computer is amoral because it cannot make moral choices; its programming defines its actions accurately. If the requirements of the code mean that a computer does well, then, it hasn't become moral: it's just following necessity. If God is perfect, then its morality is the same as a computer's: It makes no truly moral choices and is not a moral being. It's not judging in any sense of the word: it is blindly and mechanically following a set of rules and balances, as would a computer.
Free will is the making of choices according to our own deliberation. Deliberation requires thought, and thought requires change over time. If time was frozen and nothing changed, no-one would have free will. Free will is a concept that only exists inside the timeline. If God is, as is required, a creator of Time and Space, then God exists outside of time. It is senseless to talk of "before" the big bang, "before" the creation of time because there was no "before", no passage of time before then.
In this "void" where nothing changes, God has no free will. Its thoughts can't change and flow because time does not change for anything that extends outside of 4D. Taking the hypercube as an example, it may *appear* to us to change over time as we view it in a series of 3D slices, but in reality the hypercube is completely unchanging from its own point of view. From God's own point of view there is no "thinking", no change in states of mind over time. All choices were instantly made according to what is most "perfect" (if God is a perfect creator), there were never any choices or willpower involved. By its very nature, if God is perfect and created Time, God has had no free will to either engage, change or affect any free will on its own part.
If God changes (i.e., thinks) from one state of mind to another, then there must be a reason. The new state must be better than the old state. But this is impossible if God is perfect: It is not possible to "improve" God, therefore, God cannot change and God cannot possess any ongoing thoughts at all. No free will. The only possible mental state for a God is a static, unchanging, unaltering sheer-white status-quo.
Did God create free will? How then does it itself have free will? If God created free will then God had no choice in doing so. It must have been predestined to create it. But what created that predestination? God couldn't have created free will; and as God is the ultimate creator, if it didn't create free will then it means that free will doesn't exist, for itself or anything else. Cyclic questions and unanswerable problems like these show that free will is not a valid concept within theism.