Wc3's UI cannot be modified beyond changing the 'skin', so unless you have abilities that will do the selection of the factions, you're stuck with something that doesn't have any descriptions (like dialogs). You can still try repurpose the Hero Selection Window system for that, but this seems like excessive work for something like that. Having said that, personally, I wouldn't want to pick my faction before I know anything about them. Imo it would be better to have the ability to choose your faction as the game is on-going (early game, before your first hero pops out) so that you have time to read up descriptions of each faction and things like that. Faction-related buildings and units will be disabled until the player picks one.
There is still a solution to make this happen before game start, but that would require you use your own custom initialisation triggers. Consider something like DotA where each player selects their hero from taverns before the game starts. After a timer has expired, the game starts so slowpokes don't hold back the rest of the players. You could potentially do something like that, and I wouldn't be that hard to do. When the game starts, instead of a town hall you have a tavern (or soemthing like that) with the abilities in it, and it's only after every player has finished picking that the game starts. If someone doesn't pick a faction after X seconds, a random one is picked for them. If the player is AI the randomisation happens instantly.
How do either solution sound?
PS: why would you want to pick difficulty, though? That's feasible pre-game already.