Let $B$ be a complete Boolean algebra with bottom and top elements $0$ and $1$. A set $D \subseteq B$ is open if for all $a \in D$ and $b \leq a$, $b \in D$, it is dense if for all $a \in B$ there is $b \leq a$ with $b \in D$, and it is a partition if for all $a,b \in D$, $a\land b=0$, but $\bigvee D = 1$.
It is a standard ZFC result that for all open* dense $D \subseteq B\setminus \{0\}$ there is $A \subseteq D$ that is a partition of $B$. I am interested in the possibility of proving a slightly weaker version in ZF.
Question. If $D \subseteq B$ is open dense, then is there a partition $A$ such that, for all $a \in A$, $\{b \in B \mid b < a\} \subseteq D$? ($A \subseteq D$ would be sufficient, but I suspect this may be impossible without AC)
Ideally, this would be uniformly constructible over the open dense sets. I have tried some routes, e.g. taking $A=\{ \bigvee\{a \in D \mid a \land b \neq 0\}\mid b \in D\}$, or $A = \{ \bigwedge \{a \notin D \mid a > b\} \mid b \in D\}$, but I have not bee able to prove that they work (and I suspect that they may not).
*Open except that $0 \notin D$.