Nunca he trabajado con ODBC (salvo para hacer pruebas), asi que la primera pregunta no se contestarla.
Lo segundo... poné la propiedad LoginPrompt del TDatabase a False, y cuando querras conectarte, podes sacar un formulario tuyo que pida el usuario/contraseña y lo asigne a los parámetros de conexión, de esta forma:
miBD.params.values['username'] := frmLogin.eUserName.Text;
miBD.params.values['password'] := frmLogin.ePass.Text;
miBD es un TDatabase; y frmLogin.eUserName (ePass) los edits donde el usuario se ha identificado.
(es probable que los parámetros no se llamen username y password, pero eso lo podes averiguar fácilmente hacien doble click sobre tu componente de base de datos.
Hasta luego.