>E' necessario che lo crei il programma, perchè poi l'utente che
>lo userà non credo sia in grado di crearselo da se tramite un
>DBMS! E poi riuscire a stabilire anche una connessione...
Ricordati che puoi pensare di crearlo da te e poi di eseguire un backup o uno script della struttura del database per poi eseguirlo sulla macchina del cliente.
Se però la necessità è quella di creare un db lato applicazione (scusami ma ancora non ho capito bene la situazione reale) devi utilizzare una connection string simile a questa (presa da www.connectionstrings.com):
Winauth
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
SQL Auth
una volta impostata la connection con questa stringa di connessione (myDataBase sarà "master") puoi eseguire il comando CREATE DATABASE:
http://technet.microsoft.com/it-it/library/ms176061.aspx
Se hai seguito i passi del post che ti ho passato nella prima risposta e quindi SQL Express è pronto a ricevere connessioni remote, puoi scrivere il codice ADO.net che ti serve facendo uso del namespace System.Data e System.Data.SQLClient:
System.Data Namespace
http://msdn2.microsoft.com/en-us/library/system.data.aspx
System.Data.SQLClient Namespace
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.aspx
Con questi link ne hai da divertirti 
Alx81 =)
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org