Is there foreshadowing in "By the Waters of Babylon"?
Sure! If you read the text closely, there are clues all along the way. Near the beginning, he is talking about not being allowed to touch metal without permission and states, "After a time, I myself was allowed to go into the dead houses and search for metal. So I learned the ways of those houses -- and if I saw bones, I was no longer afraid. The bones are light and old -- sometimes they will fall into dust if you touch them." So from this passage we learn that there are old houses with people in them that have died. This is our first clue to some great travesty, and that they aren't the first people to exist on earth. On John's journey, he "left the god-road -- we do not use the god-roads now for they are falling apart into great blocks of stone." This is another instance of foreshadowing; great, huge roads existed that were now just massive hunks of broken up stones. Later, he sees the city: "It was there, in the red light, and they were too big to be houses. It was there with the red light upon it, mighty and ruined." This is a very straight-forward clue; the buildings were much larger than houses, and they were ruined. By now we should be getting a pretty good picture of a society that had been devastated; if we put that together with the clues about the metal-not touching it because of fear of death, we can piece together some sort of nuclear disaster. This nuclear distaster is foreshadowed a bit later when he describes how the bridges were all burned and "broken in the time of the Great Burning when the fire fell out of the sky." This great burning can be tied to the awful disaster that wiped out the civilization.
From here on out, the clues are many; the food, animals, books, statues, subways, etc. By the time John "realizes" what has happened, we should have known for a while, because of all of the foreshadowing.