Hi PixieGal,
Welcome to FlyerTalk!
Your questions are actually quite common. Many people, who do not fly frequently, have to decide whether to save $$ or accumulate miles.
As others have noted, it costs nothing to join one or many frequent flyer program. Your only cost is a few minutes to log on to a website and sign up.
But to actually accumulate enough miles in a frequent flyer program to get a free flight is not as easy. You either need to stick with a particular airline or airline alliance and/or you need to get a credit card that provides bonus miles and miles for purchases.
Deant mentioned 4 choices. But American Airlines (AA) and Southwest can also fly you or your sons between Phoenix and Kansas City.
I mention AA because Citi and AA have a deal right now where you can get 75000 AA bonus miles for a new Citi credit card. That's enough for 2, maybe 3 free flights between Phoenix and Kansas City. And some people have succeeded in getting two of these cards. And other family members could also get these cards. So, there is a possibility that your sons could be flying for free for a couple years.
If this interests you, look at this thread:
http://www.flyertalk.com/forum/miles...-up-bonus.html
and this offer:
http://creditcards.citicards.com/usc...4A3E73DF159A8B
So, if you have good credit, I would advise you to get the Citi AA cards and fly for free.