http://www.mcttrails.org/ for madison county trails, which can take you from Edwardsville to alton and beyond. If you're going to St. Charles, you can cross the bridge at Alton, and wind your way parallel to Mo 94 (I wouldn't recommend it, no shoulders and fast traffic dependong on when you ride it; there are back roads that you can use- use google maps ), or you can continue up the river road trail and cross at the Brussels or Grafton Ferry. The Grafton ferry will put you in Mo fairly close to St. Charles with good backroads into St. Charles- Grafton ferry rd, Pleasant Union, Blase Station (V), Washeon, then Elm Pt or Boschertown.
If I was doing it (and I wish I was), I'd use the Grafton ferry route. Ferry will cost you 3.00 bucks. Water and restrooms available in Alton, Elsah, Piasa Harbor, Grafton. Good luck!