Why are the major cities of the Canadian prairie provinces (Alberta, Saskatchewan, Manitoba) farther north away from the US border than those in BC and out east (Ontario, Quebec)? Seems odd to me. Is it just that that's where all the oil was? Were the passes through to BC more navigable there? I would think land further south would be more habitable and farmable, hence the proximity of most of the Canadian population to the southern areas closest to the US border.
This trends as much toward geography as it does toward history, so I may be able to help.
The very short answer is: Prairie cities were initially established along major river routes. Later, significant settlements further south was a product of railway decisions.
If you look at a map of the prairies, you'll see southern Manitoba largely comprises the Red River basin (including the Souris and Assiniboine) and Saskatchewan is dominated by the two branches of the Saskatchewan River. Alberta, too, is dominated by the two Saskatchewan River drainages (the Bow and Oldman form the South Saskatchewan at Medicine Hat), plus the Peace that flows northward. What you'll also notice is a large area of southwest Saskatchewan and southeast Alberta (Palliser's triangle) that's devoid of major waterways.
It's also notable that Palliser's triangle is not especially good farmland, as it's very dry (hence the lack of rivers).
European incursions into the prairies began as Hudson Bay and Northwest company fur traders pushed westward in the mid-17th century. These traders travelled by canoe or york boat, as water travel was significantly more expedient than overland. And so, trading posts were established along major waterways across the prairies.
Since rail ties to Eastern Canada weren't established until 1885 and the Canadian shield is more or less impassible to foot travel, early settlers on the prairies followed these voyageur routes along the river systems. The Red River colonists (at present day Winnipeg) for example, sailed to York Factory and rowed upriver from the Northern Manitoba coast.
Since trading posts were already centers of European culture on the prairies, settlements tended to cluster near them. Several modern cities are built over old trading posts (Edmonton, Prince Albert, the Battlefords). Calgary, somewhat similarly, is built at the site of a NWMP post, built to govern nearby traders. Winnipeg is a bit of an unusual case in that competing forts and the Red River settlement were all built within a few years of each other, though it should be noted that this all occurred at a point between existing fur trade posts.
So, early settlements typically followed the rivers, which exist in the slightly wetter northern prairies.
When the railway was built in 1885, Canadian Pacific had initially intended to build their railroad along the highly settled North Saskatchewan corridor, through to the Yellowhead pass (roughly equivalent to today's Yellowhead highway). However, fears of American encroachment into the sparsely settled southern prairies forced the decision to move the railway southward, across Palliser's Triangle and through the Rogers Pass. This decision created boomtowns out of tiny, backwater settlements on the southern prairies (especially Regina) and caused major stagnation of more northern towns (Prince Albert, the Battlefords).