Yes, Libgda supports working with BDB.
Please see the samples in samples/BDB in which the fill.c program uses the BDB libraries to create a BDB database, and the access-raw.c and access-custom.c files use Libgda to get the contents. The examples are also available online at
http://git.gnome.org/browse/libgda/tree/samples/BDB for quick reference. If you need more information, please let me know.
For the Vala bindings, I prefer to let Daniel speak...
Regards,
Vivien