You wouldn't really create indexes as queries are run. This would have massive performance issues, particular if your table is large.
(an exception to this might be on #temp tables you've created in stored proceudre)
Your tables should be tuned with indexes so that queries will run effeciently against them.
As a general rule, every table should have a clustered index (
http://www.sql-server-performance.com/2007/clustered-indexes/[
^])
They should then have as many indexes as required so that queries run well, but record additions\deletions aren't adversely affected
Read up on SQL query tuning.