A teacher once challenged the students to find a subset of $\mathbb R^2$ which intersects every line in finitely many points (not zero). The trick was to think about graphs instead of subsets. In fact, the subset $\{(x, x^3): x\in\mathbb R\}\subset\mathbb R^2$ intersects every line in $1$ or $3$ points.
Recently, in a set theory class, I've seen the construction of a subset of $\mathbb R^2$ that intersects every line in exactly two points. The construction used extensively the Axioma of Choice, so there was no hope for visualizing the set.
Thinking about it, I came to the conclusion that no curve could have this property: If a line cross a curve in two points, then one of the semi-planes determined by the line must contain a limited section of the curve, therefore, there is a parallel line in this semi-plane that doesn't cross the curve at all.
But what if we have a set of curves? Can the union of several curves in the plane intersect every line in exactly two points? Or are sets with this property inherently complex?

Two points sets, also known as Mazurkiewicz sets, are unfortunately not so well understood.
Let me start with the concluding question: are sets with this property inherently complex?
It is a wide open problem whether there exists a Borel Mazurkiewicz sets, it is known that any analytic Mazurkiewicz sets would have to be Borel and that there is a coanalytic Mazurkiewicz set assuming $V=L$.
In the opposite direction it is known, by a result of Larman there is no $F_\sigma$ Mazurkiewicz set, that is no Mazurkiewicz set can be written as a finite or countable union of closed sets, so in particular any finite or countable union of curves won't be a Mazurkiewicz set. As far as I know this is the best known lower bound in terms of Borel complexity for Mazurkiewicz sets.