Hola de nuevo candido
1. Sí, y además puedes usar las teclas Ctrl o Shift para esos propósitos, Un bloque contiguo con Shift y despues Ctrl para algunos registros "salteados"
2. En principio con un DBGrid no. Aunque tienes SelectedRows que son de tipo TBookmarkList, éste último no permite añadir por código, solo consultar y borrar
. Otros tipos de "Grid" si lo permiten como el VirtualStringTree; no es exactamente un Grid con acceso a Bases de datos, pero sí muy potente y flexible.
Saludos