Optimizing SQLite SELECT Performance
Improving the performance depends on where exactly the bottleneck is - with a database it's typically either IO or CPU. A simple way to see if IO is the main problem is to load the entire database into memory and then selecting from it. However once you have loaded the database into memory you might just want to consider loading your data on demand when you need to display it rather than pulling it into a DataTable.

Once you have the database in-memory you could also try a Parallel.ForEach to load the data from all tables in parallel. Of course you can try this without loading the data into in-memory. I'm not sure how well this works with a physical file but it's worth a shot.

A few additional remarks:


Nitpick: It's a database and not a data base hence your variable names should read Database and not DataBase.
The general C# naming convention for method parameters and local variables is camelCase - Percentage and ProgCtl both violate this.
Don't abbreviate variable and parameter names needlessly, e.g. ProgCtl could be easily progressController - much more readable.
For more complex string formatting I'd prefer string.Format over concatenating manually:

ProgCtrl.SetMessage(string.Format("Loading Data\nCurrent Table ({0} of {1}): {2} ...", 
                                   currentTable, tables.Rows.Count, tablename));


Makes the structure of the resulting string much clearer.
SQLiteConnection, SQLiteDataAdapter and SQLiteCommand are all  IDisposable and should be wrapped into using statements to make sure they get cleaned up properly.
DatabasePath and DatabaseName should be const.
Use Path.Combine to combine paths:

string dbpath = Path.Combine(DataBasePath, DataBaseName + ".sqlite");