Yes, God knows beforehand what everyone will do. We are just mortals with severe limits on our ability to comprehend anything "omni". The words omnipotent and omniscient don't appear in the Bible, but yes I believe that God knows everything and has all power. If you think those are incompatible, it's because you, like the rest of us, don't comprehend the infinite.
The contradiction goes like this:
Can an omniscient god find the omnipotence to change his future mind?
Basically the logic of it is thus:
If god is omniscient then he already knows every instance in which he will interfere in the affairs of man, and there is nothing he can do about it.
God can't change his mind because, if he did so, he would have already known in advance and thus, really wouldn't be changing his mind but simply doing that which he already knew he was going to do.
God is trapped by his own powers. In a sense, he has no free-will. If god is omniscient, then he can't be omnipotent.