I was thinking about this the other day as a former competitive female runner myself. When I was in HS, I got caught up in running other people's races in my earlier years. I'd force myself to go out too fast to keep up with a) girls who were way faster than me b) girls who didn't know how to pace themselves, and I'd end up dying by the end of the race. Eventually, I learned how to pace myself and just started running my own race. Come up with a game plan for your next few races independent of whoever is in the race and just do your thing, at least to get your confidence back. Maybe try running a few events that aren't your specialty - i.e., get in a few 400s, 1500s, etc. Find a new event to improve in and get some range. The 800 requires a unique combo of speed and strength - which one do you lean towards? If you're more of a sprinter, you'll want more sprint training. If you're more of a distance girl, you'll want to give yourself a strong summer and XC base. Soph year of HS my 800m time was 2:21. I got down to 2:13 the next spring by running 25mpw over the summer and getting in some great xc and indoor races. Also, experiment with different racing strategies. The 800 is tough because it's kind of a sprint, but maybe you want to try even pacing vs going out hard and hanging on, or maybe going out harder than you're used to.
I know it's easier said than done, but try not to worry about other runners all the time. Sometimes it's necessary if you're trying to win a big race like states; other times, if you're running a race to PR, use them to help you, not hurt you. The beauty of a race is having other people to push you to faster times - if these girls aren't pushing you to faster times, use them so you can. I swear the best things that ever happened for my career were getting a better base, learning how to even/negative split, and sitting and kicking. Let them do the work. Good luck! You are very fast for a sophomore; don't be so hard on yourself.