Where would I store the session information? In the data store or
would this take to long? And surely far to costly?
If you enable Sessions on GAE it'll automatically store session info in the memcache and back it up in the datastore.
What about the mem cache? I have only known of GAE for a few days and
am still reading. Is the Mem cache considered to be fast/scalable and
does it cost?
The memcache queries have no cost, and are quite faster than datastore queries. The downside is that memecache is volatile and might be flushed at any time. That's why GAE backs up session info on the datastore as well.
What is the best practice for scalability with sessions?
Well there are many schools of thought on that, but ideally your app should be "stateless" in order to achieve maximum "scalability" on GAE, so you should be able to process each request without any additional information, but that's usually really hard to get.
Having shared spaces between your instances (like memcahce/datastore/blobsotre) practically eliminate all issues related to having a "distributed and dynamic" setup, but philosophically you should attempt to achieve an app as stateless as possible.