- The boundaries are set. God not only determined the boundaries of Israel, but all nations.
The Apostle Paul, in Acts 17:26 says:
And hath made of one blood all nations of men for to dwell on all the
face of the earth, and hath determined the times before appointed, and
the bounds of their habitation. (KJV)
In a more modern translation:
From one man he made all the nations, that they should inhabit the
whole earth; and he marked out their appointed times in history and
the boundaries of their lands. (NIV)
This does not say when God made the plan, whether in eternity or as a contingency in response to each generation's actions. At the latest, we know that God told Abraham where to settle:
To this he replied: “Brothers and fathers, listen to me! The God of
glory appeared to our father Abraham while he was still in
Mesopotamia, before he lived in Harran. ‘Leave your country and your
people,’ God said, ‘and go to the land I will show you.’ (Acts 7:2-3)
Also, the destruction of the Tower of Babel was in response to man's failing to disperse as ordered to by God in Genesis 1:28 (fill the earth and subdue it). Therefore, we can assume that if He ordered them to disperse, he had a place where each was suppoosed to go.
We don't know what they knew. You state: After all, God knew which sacrifice Cain and Abel made was the "right" sacrifice even before the OT laws about sacrifices were established or officially revealed to human beings. God has certainly said more things to mankind than just what is recorded in scripture. Of the earlier days, we have just a sketch. Take for example the Book of Job. It was likely written before Moses (who likely edited it and rendered it in Hebrew). Job refers to many religious customs (including sacrifice) and laws and ethics which:
- (A) God endorsed as true
- (B) Are not identical to either Christianity or Judaism, though also not in conflict.
Remember that Enoch walked with God, but we do not know about his conversations with God, and the so called Book of Enoch was written thousands of years later, so is probably not a correct account. Likewise, Noah must have had long conversations about how to build the ark, etc., but we only have a few words exchanged.
- Why in Canaan? We don't know why, but can speculate, based on God's strategy. In Genesis 18:18:
Abraham will surely become a great and powerful nation, and all
nations on earth will be blessed through him.
In order for Israel to reach the world, it had to be at a crossroads of world travel and commerce and culture. Phoenicia, Egypt, Assyria, Babylon, Medo-Persia, Greece, Rome... The largest number of great ancient empires fought, traded, and migrated through that area. No other place in the world would do if you wanted to accomplish that task without modern communications and long distance travel.
A second consideration is justice. If God gives a people their land, it would be unjust to deprive them of it without cause. God gave the cause for the inhabitants of the land being expelled: gross immorality, child sacrifice, and other crimes. Thus God was limited to those plots of land occupied by wicked people. (I am betting that this did not limit God too much, however.)
- The curse on Ham / Canaan. The scandal here is that people twist scripture in order to justify discriminatory treatment. This curse has been used to justify oppression of the Canaanites, of black skinned people, to justify slavery, etc. What the passage originally means is unclear. On the surface it is about violating privacy. Deeper meanings that have been ascribed to it include Ham mocking his father, castrating him, or performing sodomy. This opens up a huge can of worms and we are not likely to get to the bottom of it. (See https://en.wikipedia.org/wiki/Curse_of_Ham) One thing is clear: no mention of skin color or race is made in the text. That is certainly read in by later people with an agenda.