You can copy any standard proof of Urysohn's Lemma and substitute "member of $\mathcal{B}$" for "open set" and "complement of member of $\mathcal{B}$" for closed set. Let $\mathcal{C}$ denote $\{X\setminus B:B\in\mathcal{B}\}$. Then point a says: if $x\in X$ and $C\in\mathcal{C}$ are such that $x\notin C$ then there is a $C'\in\mathcal{C}$ such that $x\in C'$ and $C'\cap C=\emptyset$. And point b says: if $C$ and $D$ are disjoint members of $\mathcal{C}$ then there are disjoint members $U$ and $V$ of $\mathcal{B}$ such that $C\subseteq U$ and $D\subseteq V$. Now any standard proof will yield, given disjoint members of $\mathcal{C}$, a continuous function that separates them. The lemma that given disjoint closed sets $F$ and $G$ one can find disjoint open sets $U$ and $V$ with disjount closures, and such that $F\subseteq U$ and $G\subseteq V$, can be replaced by the following: if $F$ and $G$ are disjoint members of $\mathcal{C}$ then there are $C$ and $D$ in $\mathcal{C}$ and $U$ and $V$ in $\mathcal{B}$ such that $F\subseteq U\subseteq C$, $G\subseteq V\subseteq D$ and $C\cap D=\emptyset$.