I started my son at 4. Earlier, really... but actually teaching him started at 4. He really started to show improvement at 6. He is now 7 and has a very promising future... Another year or two and I think his aiming will be solid. I am thinking around 10 or 11 before I can expect he fully understands aiming corrections...
He started thinking 2 balls ahead a few months ago. He won't shoot until he knows, or asks, how to get to his next ball. We play everyday and have been for 3 years now.
With that said, I think 6 would be a very good age to start teaching. Anything before that may just be creating bad habits... This game is very hard to learn and the mind has to be there to put it together. 6 seems to be the earliest, IMO, to actually expect your kid to understand what you are teaching...
As far as cues go -
Years ago I bought my daughter a 3 footer (when she was 3) so she could shoot around. I then bought a, slightly, longer one at KMart for $5. Then she started using a Frog jump stick. I had my son go through the same progression but he really prefers a full length cue now. I can't talk him out of it... He shoots the same with it so I let him...
The rule I use, for cue length, is up to your chin. Nowadays there are cheap, nice, 2 piece cues for kids. As soon as my son learns to take care of the cues I will buy him one. Right now he is real rough on my cues. Banging them into everything in the room

I'd love to have nice 2 piece cues for kids of all heights but it would be tossing money away for the most part...
Keep in mind that your kid needs to have an interest in the game to learn. For example, my Daughter never cared to play well. I could never get her to think, seriously, about any shot. She has the mental skills too... Just no interest in pool... My son, on the other hand, LOVES pool. I can't practice any more cause as soon as he hears the balls, he comes running to play

So he has a passion for it and is very eager to play well and learn. He can beat my daughter most of the time and she is 9.5 years older than him lol