Generally, each team has one jungler, which means that there will be one lane of two, and two lanes of one. Since the middle lane will always be a solo lane, this means that top and bottom will have varying numbers of champions, depending on the lane.
Top is usually considered a solo lane because the bottom lane is closer to Dragon, an important mid-game objective. Dragon is hard to solo for most non-junglers, and by keeping 2 champions in the bottom lane, it becomes quite viable to 3-man Dragon after a successful gank (or simply a double-kill). While top lane is closer to Baron Nashor, it takes quite a bit more effort to kill him - more than 3 champions in the early game can probably afford to put out. By the time Baron becomes available, the game is usually nearing the end of the laning phase, after which the difference between top and bottom lane is moot (because all 5 champions are roaming).
With a top solo lane, the champion has a leveling advantage and the potential to farm more minions (simply because there is no allied champion to compete with). Additionally, one must consider that if the other team does not have a jungler, they need to be able to successfully last 2 vs. 1. Most often, this means champions with good sustainability are better suited to the lane, such as Cho'goth, Mordekaiser, Vladimir, or Nasus.
Conversely, there are some champions who do not do well in a solo lane - these tend to be support champions like Soraka, Sona, or Janna who perform much better with a partner to buff/shield/heal. These champions usually go to the bottom lane to ensure that they are in a 2 vs. 2 situation.
In instances where there is no jungler on either team, both top and bottom will have an even number of champions. In this case you may be asked to "switch lanes" not because one lane is "better suited" than the other, but because switching lanes means changing which enemy champions you're fighting (and presumably, have been dying to).
No you can't. It is a part of bot AI and they choose on their own where to go.
edit: this answer is out of date and as gbn stated in his answer, apparently the lane decision works a little different now: "Custom game bots now adjust to players' initial laning decisions before the first minion wave spawns". For more details please check his answer.
On the other side, you won't gain much by playing on your own against bots (except if you want to practise jungling - this way no-one will touch you). You will only learn basics about the skill set of the champion you're playing and you will learn bot AI patterns which won't help you when you start playing against real players. You will have to apply different tactics against humans and learn when to activate champion skills based on how humans react. If you really want to play against bots, why not play Coop vs. AI?
Best Answer
The reason they do this is to deny Gold/XP to the enemy's Solo Top and AD Carry, getting an advantage vs certain hard team compositions.
For example: Versus an AD Carry Graves+Alistar/Solo Top Talon. Swapping lanes makes the enemy Solo Top and AD Carry lose allot of CS and XP and maybe confusing them in the process, making them prone to mistakes that normally they wouldn't make.
You can do this with a Cho'gath solo top, I believe. Since he can regenerate his HP easily and farm well even vs 2 opponents due to he's AoE spells.
Check out this game CLG.NA Vs MiG.Blaze from the Korean Azubu LoL The Champions Spring 2012 tournament
Hope this helps :).