here are some parts of an answer:
Working with databases uses ADO.NET, that means you must use the classes of the System.Data namespace to representate your data inside your application and the classes of the System.Data.Common namespace to connect with the database outside your application. Additionally, you need a specific DbProvider to connect with a specific DBMS, e.g. FirebirdSql.Data.FirebirdClient. A simple example:
// create a DataSet ds in your application:
DataSet ds = new DataSet("MyDataSet");
// fill in the required data:
using(FbConnection conn = new FbConnection
FbDataAdapter da = new FbDataAdapter("SELECT * FROM MyTable WHERE ID < 100)", conn);
How to connect to a specific database, take a look at http://www.connectionstrings.com/default.aspx with links to the required or recommended NET Provider.
In most cases, you can't create a database directly from an application. (Of course, you can use DbCommand.CommandText = "CREATE DATABASE ..."; but you can't connect to a non-existing database.) To create a database, you should use a DB management tool.
I'm sorry, there is no support to use databases via IDE of #D at the moment. There are some developers to include it, e.g. for SharpReport. But you can use all database work manually coded. In many cases, this is simplier than with working in IDE.
"The database should be in the same directory as the executable"
You should not do this. Application and Data should always be separated. In Vista, a normal user has no rights to write in the app directory. For a standard way, you can write the ConnectionString in the app.config (not using the user and password, of course).
"and contain several subdatabases."
I don't know what a subdatabase is. Do you mean "tables"?