In what follows we tackle the problem in small bite size pieces, and being the director, we can abruptly cut the action, setting up for the next take.
Take 1
As a warm-up, we will show that if $A = [a_0, a_1]$ and $B=[b_0,b_1]$ are disjoint closed intervals, then they can be separated by open sets.
We can assume that $a_1 \lt b_0$.
If there are no points between $a_1$ and $b_0$, we can separate with two open rays as follows,
$A \subset (-\infty,b_0)$
$B \subset (a_1,+\infty)$
If there is point $\gamma$ between $a_1$ and $b_0$, we can separate with two open rays as follows,
$A \subset (-\infty,\gamma)$
$B \subset (\gamma,+\infty)$
Take 2
$X = \Bbb Q$
$A^* = \Bbb Z$
$B^* = \Bbb Z+\frac{1}{2}$
By the way $A^*$ and $B^*$ are defined, if $a \in A^*$, then if there is anything at all in $A^* \cup B^*$ to the right of $a$, it has to be a $B^*$ singleton component (this also goes when looking to the left). So take care of business by creating an open set about $a$ that could not possibly intersect with the open sets you will be creating about components in $B^*$.
In our 'model' for the problem, every singleton component has stuff from the other set on either side, and by setting up the notation/indexing you can get
$A^* \subset \cup \,U_a = P$
$B^* \subset \cup \,V_b = Q$
with both the open sets $P$ and $Q$ being disjoint.
These ideas can be reformulated and then applied to hint/technique proposed in the more general question.
Take 3
In the general setup now, with a slight staging twist:
Suppose for some $b_0 \in X$,
$[b_0,+\infty) \cap A = \emptyset$
Using DanielWainfleet's In[] notation, set
$B^{+\infty}_\text{Chunk} = \cup In[b_0,b]$, where $b \in B$ and $In[b_0,b] \cap A = \emptyset$.
If this set does not have a minimum, then the union of the open rays $(b, +\infty)$ with $b \in B^{+\infty}_\text{Chunk}$ contains it.
If $A$ is nonempty, select an $a_0 \in A$ such that
$a_0$ is a lower bound of $B^{+\infty}_\text{Chunk}$
AND
For every $b \in B$, if $b \notin B^{+\infty}_\text{Chunk}$ then $b \lt a_0$
Set
$A^{ndx(?)}_\text{Chunk} = \cup In[a_0,a]$, where $a \in A$ and $In[a_0,a] \cap B = \emptyset$.
Exercise: Show that the two chunks sets can be separated by open sets in $X$.
If there is point $\gamma$ to the right of chunk $A$ and to the left of chunk $B$ - check.
So assume there is no such $\gamma$.
If $A$ chunk has a max and $B$ chunk has a min - check.
If no max for $A$ chunk and no min for chunk - check.
Other two cases - contradiction - check.
You can see what is going on now. Finding the open sets to separate the sets $A$ and $B$ is a finite 'localization' problem, but you need the axiom of choice to take care of all business at once, intersecting a finite number of open rays at at a time as necessary. To dot the i's and cross the t's will require careful indexing with the set theoretic proof.
I plan to supply a complete answer in a separate post here, but it will take some time to put together.
END OF TAKEs