Does Heavenly Father know what choices we will make in this life? I understand that He is omnipotent and that He knows the consequences and effects of the choices we make, but does He know what choices we will make? Does He know who of all His children will make it back home to him?I have trouble understanding the concept of free agency and a God who knows all. How is it possible for us to really make choices if what we do can never "surprise" God?
You are asking about the foreknowledge, or omniscience of God. This notion comes from the Lord's own words when he introduced himself to Abraham, saying: "My name is Jehovah, and I know the end from the beginning ..." (Pearl of Great Price, Abraham 2:8)
This is what Elder Neal A. Maxwell wrote about the Lord's foreknowledge (a long but very good quotation):
"Rather than questioning God's foreseeing of "all these things" in each of our lives, this perfected quality in God should fill us with wonderment and send us to our knees. Worshipful acknowledgment of an omniscient God will cause us to cooperate in the stretching of our souls. ...
"Since we cannot fully comprehend any one of God's perfected attributes, we surely cannot comprehend them in the aggregate. But we can have faith in Him and in His attributes as He has described these to us. This is what He asks of us. We may say that this is a lot to ask, but anything less will not do.
"Because of His omniscience and foreknowledge, God is, therefore, able to see His plan unfold safely. If He were less than omniscient and did not, in fact, operate out of perfect foreknowledge, His plan of salvation would by now be in shambles.
"The Father needed to know, for instance (and know long before assignments were given in the premortal world), that Jesus Christ would not break in Gethsemane or upon Calvary, refusing to yield up His special life. He needed to know that Joseph Smith could sustain all of the pressures that would be brought to bear upon him without coming apart. He needed to know that certain of the translations of the Book of Mormon would be lost and that substitute plates needed to be ready to fill in the gap. (Words of Mormon 1:6-7; D&C 3:10.) God even knew centuries before that the great restoring latter-day prophet would, like his father, bear the name of Joseph and not Walter. (2 Nephi 3:15.)
"One might multiply examples of this foreknowledge which grows out of God's omniscience, end upon end. Suffice it to say, we are safe in knowing that one of the perfected attributes of our Father in heaven is knowledge. No wonder the Prophet Joseph taught that if men do not comprehend the character of God, they do not comprehend themselves.
"God is never surprised (fantasy stories to the contrary) by unexpected arrivals in the spirit world because of unforeseen deaths. But we must always distinguish between God's being able to foresee and His causing or desiring something to happen, a very important distinction! God foresaw the fall of His beloved David but did not cause it. (See D&C 132:39.) Sending for Bathsheba was David's decision, and even her battle-weary husband Uriah's sleeping loyally by David's door was not enough to bring a by then devious and determined David to his senses. (2 Samuel 11:9.)
"By foreseeing, God can plan and His purposes can be fulfilled, but He does this in a way that does not in the least compromise our individual free agency, any more than an able meteorologist causes the weather rather than forecasts it. Part of the reason for this is our forgetfulness of our earlier experiences and the present inaccessibility of the knowledge and understanding we achieved there. The basic reason, of course, is that, as we decide and act, we do not know what God knows. Our decisions are made in our context, not His.
"Some find the doctrines of the omniscience and foreknowledge of God troubling because these seem, in some way, to constrict their individual agency. This concern springs out of a failure to distinguish between how it is that God knows with perfection what is to come but that we do not know, thus letting a very clear and simple doctrine get obscured by our own finite view of things.
"Personality patterns, habits, strengths, and weaknesses observed by God over a long period in the premortal world would give God a perfect understanding of what we would do under a given set of circumstances--especially when He knows the circumstances to come. Just because we cannot compute all the variables, just because we cannot extrapolate does not mean that He cannot do so. Omniscience is, of course, one of the essences of Godhood; it sets Him apart in such an awesome way from all of us even though, on a smaller scale, we manage to do a little foreseeing ourselves at times with our own children even with our rather finite and imperfect minds.
"Ever to be emphasized, however, is the reality that God's "seeing" is not the same thing as His "causing" something to happen.
"We must not approach God as if He were somehow constrained by finite knowledge and by time. ..." (All These Things Shall Give Thee Experience, pp.18-20)
Also consider these words from Nephi: "He doeth not anything save it be for the benefit of the world, for he loveth the world, even that he layeth down his own life that he may draw all men unto him. ..." (2 Nephi 26:24)
Because of the atonement we are free to decide our eternal destiny (2 Nephi 2:26-27). And the Lord will use his infinite power to invite us to return to his presence, and he will do so until we no longer respond to the voice of the Spirit.