In C# non ho idea di come si faccia...ma come logica, se sei certo della struttura del file, puoi individuare i nodi e i sottonodi semplicemente contandoli, ad esempio il primo timer è il n° 0, il secondo n° 1, i sottonodi seguono lo stesso principio come figli del primo (0 0, 0 1, 0 2, ecc,) ma avendo un nome possono essere identificati come "0 hourStart", ecc.
Poi, per quanto ne so, per individuare un nodo in un file xml si segue qualcosa simile alla logica delle cartelle in windows, ad esempio:
file\timer\ecc...

Comunque, per le mie conoscenze, una struttura del genere:
codice:
<file>
  <timer1>
    <setting name="hourStart">
      <value>12:00</value>
    <setting name="hourEnd">
      <value>02:00</value>
    <setting name="status">
      <value>Away</value>
    <setting name="mood">
      <value>Pranzo</value>
  <timer1>

  <timer2>
    <setting name="hourStart">
      <value>19:00</value>
    <setting name="hourEnd">
      <value>20:00</value>
    <setting name="status">
      <value>Away</value>
    <setting name="status">
      <value>Away</value>
  <timer2>
</file>
credo sia più "malleabile"...è presa pari pari dal file user.config che genera un programma in vb.
I timer1 e 2 rappresentano i nodi mentre i relativi setting rappresentano le sue proprietà con i loro nomi e valori.
Quindi potresti sostituire timer1 e 2 con "Away" o "Pranzo", e quando imposti i timer per uno di essi ne vai a leggere le proprietà per impostarlo, dipende comunque da come pensi di implementare il tutto nel tuo programma.
Di più non so