For some reason, smaller bikes seem to come set up like hybrids, kind of chopper style. When I first got mine, it was set up kind of chopper style, and every small I have ever test rode had bars way too high. (BTW, I am 5'4" and ride a 15.5 Gary Fisher) But you only have so much space to lower the bars, so here are some suggestions.
If she hasn't already, try flat bars instead of risers. They steer a little different, but you can lower the bars a good 1/2-1 inch depending on what came on the bike. And she will get used to the steering difference. Move any spacers below the stem to above the stem and play with the height. You might need to buy a few sizes so you can change it in small increments and figure out what feels good.
And as you already mentioned, you can change the stem lengh and rise. I have a 70mm, 15 degree rise stem--it is the size that came on the bike, though I have since replaced it with a really nice Race Face Deus stem of the same size, but it is a Gary Fisher, so it has a longer top tube than typical. I test rode a specialized stumpjumper fsr recently that came with a 64 mm stem and it felt really awful--climbed terribly, was really sluggish, could not keep the front wheel down. The fit could probably have been fixed with different seat post, handlebars, stem and spacers, but it was a demo, so I did not have that chance.
I would guess at 5' that an xs is probably the right size frame, since I have taken a small in every bike I have ever tried, though some brands fit better than others.