your really all over the place. Are you familiar with St. Louis at all? If so that will open up your options. Otherwise, you need to stick close to your main targets and close to major roads.
St louis is set up in semi circles (north south) flaring out in a cone shape (east west).
The first circle is I-170 and is roughly the border between St. Louis city and St. Louis County. Forest park, which holds the science center, Art Museum, Zoo, and History museum which are all free to get in, sits along this border. If your focus is Forest Park, your going to want to look for a hotel in the Wash U, Brentwood area. Clayton will have nice hotels with a higher price but is also appropriate for that area.
The Magic House is down in Kirkwood and can be fun to find if your unfamiliar with the area (though easier now with the expansion). Off hand I can't think of any nearby hotels.
Grant's farm is really far south and you will probably not want to stay out in that area (its just too remote).
If your interested in things in downtown St. Louis or Forest park, I wouldn't stay in St. Charles, its way to remote to be useful. As far west as I would go is Westport (which is about 10 minutes east of the St. Charles area). I also would not stay in Illinois as dealing with traffic crossing the river is way to much of a PITA. Especially since there has been tons of construction on the bridges. There is always traffic lined up coming across from Illinois.
You might also check downtown St. Louis. I know the Hilton is always running specials as are other Downtown hotels.
St. Louis Mills, is way out in the middle of nowhere, but is about 10 minutes from Westport. Where to go shopping really depends on what your looking to shop for. West County Mall is probably the best now a days and after that will come the Galleria in Brentwood or Chesterfield Mall in Chesterfield.
The Butterfly house is out in Faust Park (near Chesterfield Mall) and also has the St. Louis Carousal.
If your coming before June 28th, The Shakespeare Festival is free in Forest Park and runs almost every night. This year they are doing Hamlet.
You might also check the dates your coming and The Muny (the cheapest guaranteed tickets are like $8 per person) to see if you would want to take in a show (it is a WONDERFUL experience!!).
Downtown, Westport and I-44 seem to be the main thoroughfare for hotels that are right on the main roads. Hotels that are off the main roads can greatly increase your traffic times due to stop lights, rush hour etc..