How to display only "after now" dates (of multiple) of a date-field in a node?
Ok, I dived into the drupal variables with the help of the devel module and came up with a solution (first version, see better version below the edit):

I now parsing all dates directly from the content in my specific node--event.tpl.php. I then iterate through them and store all dates that are in the past in a new array. In the end, if that array contains any values and my new option is activated (differentiating between teaser and full display), I remove those past-dates from the date-field array in the content:

&lt;?php
// remove dates in the past from the date-field if enabled
if (isset($node-&gt;field_hide_past_dates) &amp;&amp; !empty($node-&gt;field_hide_past_dates)) {
  $option = $node-&gt;field_hide_past_dates['und'][0]['value'];
  if (($option == "teaser" &amp;&amp; $teaser) || $option == "always") {
    $UTC = new DateTimeZone("UTC");
    $now_utc_datetime = new DateTime( "now", $UTC );
    $past_date_array = array();
    foreach($content['field_eventdate']['#items'] AS $date_array) {
      $to_date_utc_string = $date_array['value2'];
      $to_date_utc_datetime = date_create_from_format("Y-m-d H:i:s", $to_date_utc_string, $UTC);
      if ($to_date_utc_datetime &lt; $now_utc_datetime) {
        array_push($past_date_array, $date_array);
      }
    }

    if (count($past_date_array) &gt; 0) {
      $only_future_date_array = array_filter($content['field_eventdate']['#items'], function ($var) use ($past_date_array) {
        return !in_array($var, $past_date_array);
      });
      $content['field_eventdate']['#items'] = $only_future_date_array;
    }
  }
}
?&gt;


Maybe there is a cleaner way of preprocessing the content (let me know), but this was the quickest I could come up with and I now have the option per-node.

== EDIT ==

Why make it complicated: I forgot about hiding fields, so no more array-assigning, just on-the-fly hiding of past-dates:

if (isset($node-&gt;field_hide_past_dates) &amp;&amp; !empty($node-&gt;field_hide_past_dates)) {
  $option = $node-&gt;field_hide_past_dates['und'][0]['value'];
  if (($option == "teaser" &amp;&amp; $teaser) || $option == "always") {
    $UTC = new DateTimeZone("UTC");
    $now_utc_datetime = new DateTime( "now", $UTC );
    foreach($content['field_eventdate']['#items'] AS $key =&gt;  $date_array) {
      $to_date_utc_string = $date_array['value2'];
      $to_date_utc_datetime = date_create_from_format("Y-m-d H:i:s", $to_date_utc_string, $UTC);
      if ($to_date_utc_datetime &lt; $now_utc_datetime) {
        hide($content['field_eventdate'][$key]);
      }
    }
  }
}