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
Mid champs exist for a couple of reasons. Mid champs are normally blue dependent and have a very strong early-mid game. Mid therefore is good place for them since:
The reason for having two bot goes way back to the fact that dragon is the home of bot lane (therefore you wan't the two champion lane closest to it). You don't necessarily have to have AD/support there however it has been proven game after game that baby sitting your AD with a support bot lane works really well. Since AD carries don't scale as well with level as bruisers/caster it also make sense to just give them the farm but not the full XP.
As for top champions they are normally beefy or have escapes since they tend to push up very far and can be very exposed to ganks.
As for which champions go into each lane that is very dependant of the current meta and will likely change in the future.
I won't go into explaining why you have a jungler but it's been proven that having one is a lot better than not.