I also agree with the Hilton Garden Inn. It's a short 2-3 min drive to the mall and close to all the restaurants in the mall area. I have stayed there 3 times and the rates have been in the $99-$119/night range. The hotel is only 1-1.5 years old and is extremley well kept. If you can manage the rates at the Fantasyland Hotel it's also a good place to stay. With the two teenagers, you can let them go to the waterpark,themepark, or the movies without having to drive them around. Sometimes the Fantasyland Hotel has hotel packages that include waterpark/themepark tickets for a greatly reduced rate.
As for Drumheller, I'd drive to Calgary instead of spending the night.