Hi there-
Runner A: If she doesn't go to practice, then she should not be allowed to run in the meets. If she shows up one day, expecting to run, and then finds out she can't because she didn't go to practice... she'll hopefully start going to practice. :). You need to let her know that what she is doing is not okay!
Runner B: She's probably afraid of failing. This could be way off, but it's still possible. Runner B is a lot like myself- top of her class, very competitive, and runs fast in practice- but not in races. I know that when I run in meets, I am afraid that I will go too fast and die. I have a very big fear of losing, which is why I am so competitive. So, instead of running all-out, I run at a mediocre pace that I know will be fast enough to not come in last and slow enough so that I will definitly be able to hold for a mile (and when running the two-mile, I hold back even more). It's a long shot, but maybe this is what your Runner B does.
So, what I'm trying to say is:
1. Talk to her, try find out what's going on.
2. Make her run long intervals in practice: two miles and greater, so she gets it in her head that she WON'T die going that fast! She needs to realize what she is truly capable of so come race day she will be mentally prepared to run all-out!
Sorry for the psycho-analysis; I'm currently taking a psych class. :)
Best of luck with your two runners!