Enumerating All Cases Where Two Pairs of Dates Overlap and Don't Overlap

First consider the case where all dates are different.

Then the type of overlap corresponds to a permutation $\pi$ of the numbers $1$ through $4$ that satisfies $\pi(1)\lt\pi(2)$ and $\pi(3)\lt\pi(4)$. There are $4!=24$ permutations overall, and $2^2=4$ different orderings of the pairs, of which only one is admissible, so there are $\frac{4!}{2^2}=6$ types of overlap. To generate them in software, the easiest way, if efficiency isn't too important, would be to generate all permutations (there are standard algorithms for that) and select only the ones that satisfy the conditions. In the present case these are $1234$, $3124$, $3412$, $1324$, $3142$ and $1342$.

You can do a similar analysis if you have more pairs. For $n$ pairs there are $(2n)!$ permutations and $2^n$ orderings of the pairs, of which one is admissible, so the number of overlap types is $(2n)!2^{-n}$.

If dates are allowed to be equal, you can take the result of the above analysis, for each permutation generate all $2^{2n-1}$ ways of partitioning the $2n$ values into segments (there are $2^{2n-1}$ because you can decide independently for each of the $2n-1$ pairs of neighbours whether they're in the same segment), and make all dates in the same segment equal, throwing out cases where two dates in the same pair are in the same segment. (I'm assuming that dates in the same pair can't be equal.) This generates each overlap type more than once, so you'd have to compare them and only retain one copy of each.

Here are the additional overlap types with equal dates that this would generate in the case $n=2$ (where the parentheses indicate segments):

\begin{eqnarray} 1234&\to&1(23)4\;,\\ 3124&\to&(31)24, 31(24), (31)(24)\;,\\ 3412&\to&3(41)2\;,\\ 1324&\to&(13)24, 13(24), (13)(24)\;,\\ 3142&\to&(31)42, 31(42), (31)(42)\;,\\ 1342&\to&(13)42, 13(42), (13)(42)\;. \end{eqnarray}

The order within segments doesn't matter, so e.g. $(31)24$ is the same overlap type as $(13)24$. Thus for $n=2$ we have $13$ different overlap types overall:

$$1234, 3124, 3412, 1324, 3142, 1342, 1(23)4, 3(41)2, (13)24, (13)42, 13(24), 31(24), (13)(24)\;.$$