1. ODBC driver usually "comes with" the RDBMS, or can be installed separately (a.k.a. "Client Tools").
2. The driver is usually an external file (or files) like a .DLL or .JAR that you make calls to just like any other .DLL or .JAR. Depending on what language you program in, the syntax can vary widely. When you compile, it doesn't actually include the driver in your .exe, but any machine where you run the program has to also have the .DLL or .JAR to reference at run-time.
The RDBMS will usually be running on a separate server-class machine, but for development purposes most RDBMS's have dev versions that can be installed on your local machine. Your friendly neighborhood Database Administrator should be able to hook you up with an ODBC driver and permissions to an RDBMS instance (assuming you have a DBA to ask).
For actual programming, your best bet is to google using "C++ ODBC Tutorial" for examples and tips rather than buying a book. That will get you started and might be enough. Additionally, many object-oriented languages have "wrapper classes" to insulate you somewhat from the complexities of straight ODBC calls.
Good luck!