Prima di tutto dovresti usare un altro approccio sfruttando il binding e le collection. In ogni caso per fare quello che chiedi non devi aggiungere l'elemento al controllo ma aggiungere l'elemento alla lista delle province:
ObservableCollection<Province> list = new ObservableCollection<Province>();
list.Add(new Province { provincia = "non definita"});
foreach (Province p in clsUtility.Province())
list.Add(p);
ddlProv.ItemsSource = list;
ddlProv.DisplayMemberPath = "provincia";
ddlProv.SelectedValuePath = "provincia";
In questo modo non ti serve neanche utilizzare il value ma lavorare direttamente sul SelectedItem che ti dà la provincia selezionata che puoi facilmente distinguere se ti tieni l'istanza a livello di classe.
Ti consiglio comunque di leggere questi articoli
http://www.winfxitalia.com/articoli/presentation-foundation/architettura-model-view-viewmodel-wpf-p-1.aspx e
http://www.winfxitalia.com/articoli/presentation-foundation/controlli-elenco-WPF.aspx