Well, I started my girl at 2-3 months old in a 20 gallon long and she liked it fine since I added plenty of greenery and low branches in addition to the hides for cover. My little @3 month old rescue is in a 10 gallon, but that's because he's been mistreated and needed a good small enclosure. I think a big part of it is the snake itself. If your snake really freaks out with open space, then the smaller enclosure is the best.

As for when to move them, the basic rule of snake enclosures is length of tank = 1/2 length of snake I believe.