Pues es una pregunta con muchas partes:
1. Yo usaría para la base de datos SQLite, es la que yo usé habitualmente y sin problema. Fácil de manejar. El artículo de android developers es muy completo.
2. Del objeto Cursor que devuelve la BD puedes meter los datos dónde quieras, por ejemplo en un ListView.
3. Para lo que mencionas necesitas hacer un ListView con celdas personalizadas (una imagen y dos textview en tu caso supongo).
4. Finalmente, deberías implementar el patron ViewHolder para que el movimiento en la lista sea fluida (sobre todo si vas a mover imágenes).
5. Lo del click pues eso, un onClickListener sobre los imageView y los TextView de las celdas.
6. Finalmente, ahora se están implementando patrones muy chulos en el nuevo material design de android: quizás te interesen las cards.
Dónde consultar:
Android developers es una fuente inagotable:
https://developer.android.com/traini...sts-cards.html
Vogella ya lo ha explicado todo:
http://www.vogella.com/tutorials/And...e/article.html
Patrón ViewHolder:
http://developer.android.com/trainin...scrolling.html
Celdas personalizadas:
http://developer.android.com/referen...tActivity.html
y mucho más...