Update: this is not quite a complete answer, since (c) might not hold if $A_{\epsilon/2}$ and $B_{\epsilon/2}$ are not disjoint.
My answer to the variant of this question appears to apply equally to the original here:
Let $\epsilon > 0$. For $X \in U$, let $X_t$ be the "least" subset of $X$ of length $\min(t, \lvert X \rvert)$. In other words, $X_t$ has length $t$ (or is all of $X$) and contains every element of $X$ that is less than the maximum of $X_t$. For example, $([0,1/4] \cup [1/2, 1])_{1/2} = [0, 1/4] \cup [1/2, 3/4]$.
Define $$f(A, B) := A_{\frac{\epsilon}{2}} \cup B_{\frac{\epsilon}{2}}.$$
(a): This follows from the definition of the problem, so long as $\epsilon < 1$.
(b): $f(A, B) \cap A \supset A_{\frac{\epsilon}{2}}$ and therefore has positive length. Similarly for $f(A, B) \cap B$.
(c): The length of $f(X, B) \cap A = (X_{\frac{\epsilon}{2}} \cap A) \cup (B_{\frac{\epsilon}{2}} \cap A)$ is maximized at $X=A$ if $A_{\epsilon/2}$ and $B_{\epsilon/2}$ are disjoint. Similarly for $f(A, X) \cap B$.
A similarly defined $f$ also works if $X_t$ is replaced with another canonically associated subset of $X$ of length $\min(t, \lvert X \rvert)$ (e.g. the "greatest" such subset) or if $\epsilon/2$ is replaced by smaller positive values.
How about Devil's staircase (a.k.a. Cantor function) $C(x)$, but with every horizontal segment replaced by a rescaled zigzag $Z(x)$? By a zigzag I mean, for example:
$$ Z(x) = \tfrac{2}{\pi} \arcsin(\sin(2\pi x)) .$$
The function $f$ is formally defined as:
$$ f(x) = \begin{cases} C(x) & \text{if $x$ has no $1$ in ternary expansion,} \\ C(x) + 2^{-n} Z(3^n(x - a_{n,k})) & \text{if $x \in [a_{n,k}, a_{n,k}+3^{-n}]$,} \end{cases} $$
where $a_{n,k}$, $k = 1, 2, \ldots, 2^n$, is the enumeration of left endpoints of maximal line segments of length exactly $3^{-n}$ on which $C(x)$ is constant.
For every $y_0$ which is not a dyadic rational there is exactly one $x$ with no $1$ in ternary expansion such that $f(x) = C(x) = y_0$, and for each $n = 1, 2, \ldots$ the line $y = y_0$ intersects exactly one zigzag of $f$ of horizontal length $3^{-n}$.
EDIT: To clarify the definition of $f$, write
$$ x = \sum_{n = 1}^\infty \frac{x_n}{3^n} $$ for the ternary expansion of $x$, and let $K \in \{1, 2, \ldots, \infty\}$ be the position of first digit $1$. The Cantor function $C(x)$ is equal to
$$ C(x) = \sum_{n = 1}^K \frac{\lceil x_n/2 \rceil}{2^n} . $$
The function $f$ is defined by
$$ f(x) = \begin{cases} C(x) & \text{if $K = \infty$,} \\ C(x) + 2^{-K} Z\biggl(\sum_{n = 1}^\infty \dfrac{x_{K+n}}{3^n}\biggr) & \text{otherwise.} \end{cases} $$
Here is the plot of $f$:
To see that $f$ is continuous, it is enough to observe that $f - C$ is an infinite series of continuous "zigzag" functions with disjoint supports and decreasing supremum norms. The series thus converges uniformly, and consequently $f - C$ is continuous.
Regarding the level sets: Suppose that $y$ is not a dyadic rational, with binary digits $y_n$:
$$ y = \sum_{n = 1}^\infty \frac{y_n}{2^n} . $$
Then $C(x) = y$ has exactly one solution (namely: an $x$ with $x_n = 2 y_n$), and this will also be a solution of $f(x) = y$. All other solutions $x$ necessarily have $K < \infty$. For such an $x$, we have $|f(x) - C(x)| \le 2^{-K}$, that is, $|y - C(x)| \le 2^{-K}$. Since $y$ is not a dyadic rational, it follows that $x_n = 2 y_n$ for $n = 1, 2, \ldots, K - 1$, and of course $x_K = 1$. Therefore,
$$ 2^{-K} Z\biggl(\sum_{n = 1}^\infty \frac{x_{K+n}}{3^n}\biggr) = f(x) - C(x) = y - C(x) = \frac{y_K - 1}{2^K} + \sum_{n = K + 1}^\infty \frac{y_n}{2^n} . $$
The above equation clearly has exactly two solutions ($Z$ is essentially two-to-one). It follows that $f(x) = y$ has one solution with $K = \infty$ and two solutions corresponding to every finite $K$.
By the way, level sets corresponding to dyadic rationals are countable, too, by a very similar argument.
Best Answer
Following Will Brian's comments 1 2, here is a graphical "proof" that the graph of every continuous function from $[0,1]$ to $[0,1]$ intersects my Cantor set whose original description is retained below.
Here are the first three steps $C_1$, $C_2$, $C_3$ of a construction that starts with the diagonal line from $(0,0)$ to $(1,1)$, and then in each step replaces the previous stage with two copies of it, scaled by $\frac{1}{2}$ horizontally and $\frac{2}{3}$ vertically:
and here is $C_7$:
So: starting with any continuous function $f: [0,1] \to [0,1]$, let $x_1$ be a point where its graph intersects $C_1$, $x_2$ a point where its graph intersects $C_2$, etc. That these intersections exist is visually obvious and not hard to prove rigorously. Any cluster point of this sequence will be a point of intersection between the graph of $f$ and my Cantor set.
Original post: I think there is such a Cantor set, and here is my proposal:
The first few points are $(0,0)$, $(1,1)$, $(\frac{1}{2}, \frac{1}{3})$, $(\frac{1}{2}, \frac{2}{3})$, then we have $(\frac{1}{4}, \frac{2}{9})$, $(\frac{1}{4},\frac{4}{9})$, $(\frac{3}{4}, \frac{5}{9})$, $(\frac{3}{4}, \frac{7}{9})$, etc. Hopefully that explains the pattern. There is a homeomorphism from the usual Cantor set to this set which takes the middle-third endpoints to the points I started to list above.
I don't have any good ideas about how to prove that the graph of every continuous function intersects this, but I can't see how it could be avoided.