Selection of dates respecting delay constraints
This can be solved in polynomial time using dynamic programming.

We'll build up an array $A$.  The meaning of the array is as follows: if $t$ is a time on day $d$ and $i \in \{1,2,3,4,5\}$, then $A[t,i]=1$ means that it's possible to build a schedule for days $1..d$ that ends at time $t$ and obeys all the constraints (minimum delay $\ge$ 2 hours, maximum delay $\le$ 10 hours, exactly 5 times chosen on days $1..d-1$ and exactly $i$ times chosen on day $d$).

Note that, once you've filled in $A[1..t-1,1..5]$, you can fill in $A[t,1..5]$ via a simple recurrence relationship: e.g.,

$$A[t,1] = \lor_{t'} A[t',5]$$

where $t'$ ranges over all times that are on the day before $t$, and that fall at least 2 hours before and at most 10 hours before $t$; and

$$A[t,i] = \lor_{t''} A[t'',i-1] \text{ for } i=2,3,4,5$$

where $t''$ ranges over all times that are on the same day as $t$ but before $t$, and that fall at least 2 hours before and at most 10 hours before $t$.

Thus, you can fill in the array $A$ entry-by-entry, in order of increasing $t$.  This will give a linear-time algorithm for finding a valid schedule that meets your constraints.