In your init event, you add the data into the combo with did -a $dname 6 data as listner told you. After you have added all the data, you use did -c $dname 6 1 to select the first line as the initial choice. If you have this set into a variable already (such as %did6) and are going to reselect that same value, then you can either check after adding each line to see if that is the line to be selected (as you're adding the lines) or loop through each line after you're done until you find it. Here are both methods; use only one (of course):
Code:
  
;  Method 1 (selecting while adding - useful for a few items)
  
on *:DIALOG:PHMawaypref:init:0:{
  did $+(-,$iif(%did6 == 15,ca,a)) $dname 6 15
  did $+(-,$iif(%did6 == 30,ca,a)) $dname 6 30
  did $+(-,$iif(%did6 == 45,ca,a)) $dname 6 45
  did $+(-,$iif(%did6 == 60,ca,a)) $dname 6 60
  ;  Default to line 1 if no valid value is found
  if (!$did($dname,6,1).sel) did -c $dname 6 1
}
  
;  Method 2 (while loop - more useful when you have a lot of lines to search through to find
;    a matching value.)
  
on *:DIALOG:PHMawaypref:init:0:{
  .did -a  $dname 6 15
  .did -a  $dname 6 30
  .did -a  $dname 6 45
  .did -a  $dname 6 60
  var %i = 1
  while ($did($dname,6,%i).text) {
    if ($ifmatch == %did6) {
      did -c $dname 6 %i
      break
    }
    inc %i
  }
  ;  Default to line 1 if no valid value is found
  if (!$did($dname,6,1).sel) did -c $dname 6 1
}

As for your other question about saving the values when someone selects the Done button, you use the :sclick: dialog event and do whatever saving you need to do.
Code:

on *:DIALOG:PHMawaypref:sclick:2:{
  set %did6 $did($dname,6,1).seltext
}


DALnet: #HelpDesk and #m[color:#FF0000]IR[color:#EEEE00]C