Bueno merino, yo no me preocuparia siempre que cuando te enlacen, haya una redirección... quiero decir si tienes puestas todas tus url sin .html, interpreto que en el htaccess conviertes las páginas con .html a sin. Igual que con el index, si tienes bien configurado el .htaccess, aunque escribas la url www .dominio.com/index esta pasará a tu preferida, www .dominio.com
La herramienta que te comente para comprobar esto último no la encontré, pero encontré esta que también te lo dice:
http://www.virante.com/seo-tools/duplicate-content
En cuanto a lo de poner el canonical a páginas generadas por mysql, bastaría añadir una columna en las tablas con la url correspondiente. O bien si la generas a partir del título, pues a partir de eso también puedes crear una función para que te genere la url canónica para cada página!
Saludos