Thanks for reaching out! I do notice a couple of things wrong with your post. "I never made a move, because it would have destroyed everyone's way of life at our house." I doubt that. At best, you'd start dating an awesome girl. At worst, things would be a bit awkward for a while. I've pursued a ton of women. Often we were not friends afterwards. That unfortunately is the truth. BUT there were some girls that remained my friend afterward. I ever had one friend that went out of her way, to remain my friend. So it's not always true that you can't be friends after you've dated someone.
Also, why would you not pursue this girl!? You talked all the time for hours and hours and had flirtatious moments!? You should have tried to kiss her the first time you met her! That's Biblical. I'm exagerating. I am just pointing out that it sounds like this girl is awesome, and you should definitely try to date her.
Whatever you do, DO NOT, sit her down and say, I have a crush on you. I have liked you for 2+ plus years. I wish I would have made a move before. Most likely, she will be put off guard. And you're expressing how desperate you are. A girl wants to feel like you have other options, but you are choosing to pursue her above all other women. I believe that Nick has an article somewhere about how to date someone who is dating someone else. BUT the point is that you need be your genuine self.
If she's single right now, then ask her to hang out with you. Say you want to catch up. And invite her to do some short activity. Go play frisbee. Go walking. Go to a farmer's market together. Ideally you want it to be a short date. If you take her out to a 3 course dinner, and she turns you down, it'll be harder to leave in the middle of dinner.
If you can avoid it, don't tell her it's a date. Tell her that you want to catch up. Tell her that you have some exciting news to tell her. Then tell her something stupid when you shows up, like I going abroad this fall. Then when you are there with her, act like it is a date. Get in one of those flirtuatuous moments with her. Make good eye contact. Hug her when you first meet her, if you can. Play footsie. Then work your way up the affection ladder.
Also, you shouldn't believe that this is the only girl for you. There are a zillion girls out there. Each one as attractive and awesome as this girl. Go out and find others like her. Pursue them and this girl. Start hitting on random women to build up your confidence. Go and invest in yourself. Join a hobby club. Start a hobby club. Do what you want to do.
Good luck and keep me posted.