2) secondo me un buon DB embedded può essere SQLite, c'è un ottimo binding per ADO.NET.