I have 2 problems, and they both involve women. Help?

Problem 1:

At the beginning of August I hung out with this girl from my home town. We knew of each other but had never spoke despite her being the same age as my best friend. She's 18 in a few weeks, and I'm 21 in June. We had a fun month hanging out a few times, we didn't hook up but a few times we'd make out for a bit after I walked her to her door. My week long vacation paired with her working two almost full time jobs meant we didn't see each other a lot. At the end of the summer, before I went off to college, I told her how much fun I had and that I hoped I could see her at Christmas. As far as I knew she was leaving to travel Europe for 6 months sometime in December. I've talked to her periodically these past 3 months and found out that she'll actually be home during my Christmas break. She said she wants to get together while I'm home, and there's a very small chance she'll be home for a few days during my reading break.

I could spend the remaining 2000 characters describing how well we get along and I still wouldn't do it justice so I'll sum my feelings up like this: I enjoy sex a lot and don't usually go that long without it.. but I haven't done it at all since I met her and honestly, If she wanted, I'd wait till marriage.

Problem 2:

Seeing as girl from problem #1 is going to Europe for a long time, I came to college with the goal to move on. I never forgot about her fully but I met this other girl a few doors down from me in residence. I like her. she's really cool. I was planning on asking her out, and I think she's expecting me to do it soon, but since I get to see girl #1 at Christmas I don't want ask girl #2 out anymore.

Here's where I'm stumped.. Am I wishing hopelessly that girl #1 will work out or do we have a chance? Should I ask girl #2 out and realize that girl #1 was never going anywhere or slowly, and voluntarily put myself in the friend zone, or (this one's a bit morally grey..) string girl #2 along in case girl #1 doesn't work out?