Let me answer Question 2.
Strong version: no. Consider $[0,1]$ with distance $d(x,y)=|x-y|^{1/3}$. There is no even a triple of points with rational distances - otherwise there would be a nonzero rational solution of $x^3+y^3=z^3$.
Weak version: yes. Let $(X,d)$ be the space in question. Construct sets $S_1\subset S_2\subset\dots$ such that each $S_k$ is a maximal $(2^{-k})$-separated net in $X$. Let $S$ be the union of these nets; then $S$ is countable and dense in $X$.
Now construct the following metric graph on $S$. For every $k$, connect every pair of points $x,y\in S_k$ by an edge whose length is $(1-10^{-k})d(x,y)$ rounded down to a multiple of $10^{-2k}$. The new distance $d'$ on $S$ is the induced length distance in this graph. It is easy to see that the edges outside $S_k$ do not affect the distances in $S_k$, hence all these distances are rational (multiples of $10^{-2k}$). The new metric $d'$ on $S$ satisfies $\frac12d\le d'\le d$, hence the completion of $(S,d')$ is the same set $X$ with an equivalent metric.
UPDATE.
Here is a more detailed description without the term "metric graph".
For each $k$, define a function $f_k:\mathbb R_+\to\mathbb R_+$ by
$$
f_k(t) = 10^{-2k}\left\lfloor 10^{2k}(1-10^{-k})t \right\rfloor .
$$
The actual form of $f_k$ does not matter, we only need the following properties:
$f_k$ takes only rational values with bounded denominators (by $10^{-k}$).
Let $a_k$ and $b_k$ denote the infimum and the supremum of $f_k(t)/t$ over the set $\{t\ge 2^{-k}\}$. Then $\frac12\le a_k\le b_k\le a_{k+1}\le 1$ for all $k$. (Indeed, we have $1-2\cdot10^k\le a_k\le b_k\le 1-10^k$.)
For every $x,y\in S_k$, define $\ell(x,y)=f_k(d(x,y))$ where $k=k(x,y)$ is the minimum number such that $x,y\in S_k$. Note that
$$
a_k d(x,y) \le \ell(x,y) \le b_k d(x,y)
$$
for all such pairs $x,y$, since $S_k$ is a $(2^{-k})$-separated set. For a finite sequence $x_0,x_1,\dots,x_n\in S$ define
$$
\ell(x_0,x_1,\dots,x_n) = \sum_{i=1}^n \ell(x_{i-1},x_i) .
$$
I will refer to this expression as the $\ell$-length of the sequence $x_0,\dots,x_n$. Define
$$
d'(x,y) = \inf\{ \ell(x_0,x_1,\dots,x_n) \}
$$
where the infimum is taken over all finite sequences $x_0,x_1,\dots,x_n$ in $S$ such that $x_0=x$ and $x_n=y$. Clearly $d'$ is a metric and $\frac12d\le d'\le d$. It remains to show that $d'$ takes only rational values.
Lemma: If $x,y\in S_k$, then $d'(x,y)$ equals the infimum of $\ell$-lengths of sequences contained in $S_k$.
Proof: Consider any sequence $x_0,\dots,x_n$ in $S$ such that $x_0=x$ and $y_0=y$. Remove all points that do not belong to $S_k$ from this sequence. I claim that the $\ell$-length became shorter. Indeed, it suffices to prove that
$$
\ell(x_r,x_s) \le \ell(x_r,x_{r+1},\dots,x_{s-1},x_s)
$$
if $x_r$ and $x_s$ are in $S_k$ and the intermediate points are not. By the second property of the functions $f_k$, the left-hand side is bounded above by $b_k d(x_r,x_s)$ and every term $\ell(x_i,x_{i+1})$ in the right-hand side is bounded below by $b_k d(x_i,x_{i+1})$. So it suffices to prove that
$$
b_k d(x_r,x_s) \le b_k\sum_{i=r}^{s-1} d(x_i,x_{i+1}),
$$
and this is a triangle inequality multiplied by $b_k$. Q.E.D.
All $\ell$-lengths of sequences in $S_k$ are multiples of some fixed rational number (namely $10^{-2k}$). Hence $d'(x,y)$ is a multiple of the same number if $x,y\in S_k$. Thus all values of $d'$ are rational.
Best Answer
Let $E$ be a set of the claimed form. Call a direction $\omega \in S^1$ a limit direction of $E$ if there exists a sequence $p_n$ of points in $E$ going to infinity whose argument goes to $\omega$, or equivalently if $E$ does not avoid an infinite open sector containing the direction $\omega$ in the limit. I can show the following:
This doesn't settle the question yet, but may be useful partial progress towards a complete solution. One consequence of this proposition is that if one line meets $E$ with a half-infinite interval (plus another interval), then all parallel lines do also (since the direction of the half-infinite interval is clearly a limit direction).
Proof: It is clear that the set of limit directions is closed. Since $E$ meets every line at least once, it is unbounded. Thus there is a sequence of points $p_n$ in $E$ going to infinity. By Bolzano-Weierstrass this shows that there is at least one limit direction.
Suppose that the direction $(1,0)$ was a limit direction, thus we have a sequence $p_n = (x_n,y_n)$ in $E$ where $x_n \to +\infty$ and $y_n/x_n \to 0$. By reflection and passing to subsequence we may assume that the $y_n$ are all nonnegative; by shifting $E$ upwards slightly we may assume they are all strictly positive.
By hypothesis, $E$ meets the $x$-axis in two disjoint intervals $(a,b) \times \{0\}$ and $(c,d) \times \{0\}$ with $a < b < c < d$. Suppose that $d$ was finite. If we choose $a < x < b < y < c < z < d < w$, then there are vertical open intervals $I_x, I_z$ around $(x,0)$ and $(z,0)$ that respectively lie in $E$, while $(y,0)$ and $(w,0)$ do not lie in $E$.
Consider the vertical line through $(w,0)$. This meets $E$ in two open intervals, neither of which contains $(w,0)$. Thus there is an open interval $J_w = \{w\} \times (0,\varepsilon)$ that either lies completely outside of $E$, or completely inside $E$. But for $n$ large enough, we can find a line that meets $I_x$, $(y,0)$, $I_z$, $J_w$, and $p_n$ in that order. Since this line has to meet $E$ in two intervals, this forces $J_w$ to lie completely inside $E$.
We conclude: if $d$ is finite, then for sufficiently large $w$, there exists $\varepsilon>0$ such that $(w,0)$ lies outside of $E$ but $\{w\} \times (0,\varepsilon)$ lies in $E$.
Of course, for $d$ infinite, we have $(w,0) \in E$ for all sufficiently large $w$.
Shifting $E$ upwards (which keeps $y_n$ positive and $y_n/x_n$ going to zero), we conclude that for any $t \leq 0$, either $(w,t) \in E$ for all sufficiently large $w$, or else for sufficiently large $w$ (depending on $t$), there exists $\varepsilon>0$ such that $(w,t)$ lies outside of $E$ but $\{w\} \times (t,t+\varepsilon)$ lies in $E$.
If the second option holds true for at least three values of $t \leq 0$, then we conclude for sufficiently large $w$ that the indicator of $E$ on the vertical line $\{w\} \times {\mathbf R}$ changes value at least five times, and so $E$ does not meet this line in two intervals, a contradiction. Thus the first option must hold for at least one $t \leq 0$. In particular we now have a sequence $(x_n,y_n)$ of points with $y_n = t < 0$ and $y_n/x_n \to 0$, so by reflection all the results we had for $E$ also hold for the reflection of $E$ across the $x$ axis. In particular, if $d$ is finite, it is now true that for sufficiently large $w$, there is an interval $K_w = \{w\} \times (-\varepsilon,\varepsilon)$ such that $K_w$ meets $E$ at every point of $K_w$ except for the midpoint $(w,0)$.
Now by intersecting $E$ with ${\mathbf R} \times \{1\}$ we may find $f < g$ such that $(f,1) \in E$ and $(g,1) \not \in E$. Using the vertical line $\{f\} \times {\mathbf R}$ we may find a vertical interval $L_f$ around $(f,1)$ that lies in $E$. But one can then find arbitrarily large $w_1 < w_2 < w_3$ close together such that there is a line passing through $L_f$, $(g,1)$, $K_{w_1}$, $(w_2,0)$, $K_{w_3}$ in that order, contradicting the fact that $E$ has to meet this line in two intervals. (To find $w_1,w_2,w_3$, one can for instance use the Lebesgue differentiation theorem to locate an arbitrarily large real $w_0$ where the length of $K_w$ is bounded from below for set of $w$ of asymptotic density $1$ near $w_0$, then set $w_1,w_2,w_3$ to be sufficiently close generic points near $w_0$.) We conclude that $d$ must be infinite. Translating this up and down, we now conclude that $E$ meets every horizontal line in two intervals, one of which is half-infinite to the right.
Finally one has to show that not every direction is a limit direction. This is an observation (now deleted) of Robert Israel: if every direction was a limit direction, then every line meets the complement of E in a closed interval, so the complement of E is convex. But by the Hahn-Banach separation theorem we can then find a line that separates a point of E from its complement, so E meets all of that line rather than meeting it in two intervals, a contradiction. $\Box$
One can say a bit more about the limit directions. If $\omega_1,\omega_2,\omega_3,\omega_4,\omega_5$ lie in a semicircle in that order, one cannot have $\omega_1,\omega_3,\omega_5$ a limit direction and $\omega_2,\omega_4$ not, since in that case there would be rays in the directions $\omega_3,\omega_5$ that were in $E$ and rays in the directions $\omega_2,\omega_4$ that lay outside of $E$, which contradicts the proposition in the direction $\omega_1$. I think this means that the set of non-limit directions consists of at most three open intervals.