Just a few comments...
Database:
As with anything else, try to keep it simple until you need to make it
complex.
Sqlite is the simplier alternative, and it's also the fastest for the
intended use (small number of users, simple selects, etc). MySQL is
also a very good alternative and much more powerful.
Mod_python:
Mod_python is the best choice (AFAIK, please correct me if I'm wrong)
if you want speed, performance and scalability. Many frameworks are
based on mod_python (Django, for example), so you can't go wrong with
it.
But let me tell you that if you just want to use bare-bones mod_python,
without any framework on top of it, you can do it, and it's not
difficult at all.
Mod_python comes with its own implementation of PSP (python server
pages), which lets you program a la PHP (intermingling python and
html).
If you want, you can also separate logic and presentation by using its
"publisher handle" along with PSP templates. If you prefer other kinds
of templetaing system, you can use them too (for example Cheetah).
For a long time I steered away of mod_python because I had the
impression it was too difficult and not user friendly enough, what once
I tried and followed the examples in the documentation, I found it to
be a very good alternative.
And the community on its mailing list is very kind and supportive. They
reply any question in a matter of minutes.