فکر میکنم بهتره که توی طراحی دیتبایستون تجدید نظر بکنید چون جدا کردن دیتبایس ها سود خاصی براتون نخواهد داشت
اول اینکه mysql چند ملیون رکورد رو هم میتونه به خوبی پرازش کنه (البته به شرط طراحی درست و آپتیمایز بودن کوئری ها و تنظیمات دیتبایس )
حداقلش اینه که میتونید برای هر اکانت یه تیبل جدا بسازید نه یک دیتابیس جدا !
در هر صورت برای لود کردن دیتبایس به صورت داینامیک از توی کد میتونی اینجوری عمل کنید
$config['hostname'] = "localhost";
$config['username'] = "myusername";
$config['password'] = "mypassword";
$config['database'] = "mydatabase";
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$this->load->model('Model_name', '', $config);
// or as gorelative notes, to access multiple databases:
$DB2 = $this->load->database($config, TRUE);