Да, вы можете сделать это. Как указывает @TOndrej, вы можете создать источник данных ODBC во время выполнения. Но обычно вам не нужно. Вы можете просто создать соединение данных во время выполнения без источника данных ODBC.
Примерно так: использование компонентов ADO в MS Jet OLE DB ...
if ADOConnection1.connected then ADOConnection1.close;
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+filename+';'+
'Persist Security Info=False';
ADOConnection1.LoginPrompt:=false;
ADOQuery1.Connection:=ADOConnection1;
ADOConnection1.Open;
....