To answer the titular question, yes, all regular languages are deterministic context free languages. For every regular language, there's a DFA, which we can view as a PDA that doesn't use its stack (at least not to do anything useful). Clearly this PDA is deterministic (it's just a DFA).
For the two motivating questions we have (just to make a clear explanation):
- If $A$ is regular then so is $\overline{A}$.
- If $B$ is deterministic context free, then so is $\overline{B}$.
- If $C$ is regular and $D$ is context free, then $C\cap D$ is context free (I'm not sure what happens if $D$ is a DCFL, whether the intersection also is, but it's at least still context free).
Then we have:
a) $M-N = M\cap \overline{N}$, by (1) $\overline{N}$ is regular, by (3) $M\cap \overline{N}$ is context free.
b) $N-M = N\cap\overline{M}$, by (2) $\overline{M}$ is context free (indeed, deterministic), then by (3) $N\cap\overline{M}$ is context free.
So don't actually need that the regular languages are a subset of the deterministic context free languages to answer the questions.
For any language $L$, let $L_{\frac12-}$ be the set of first halves of the words in $L$ and $L_{-\frac12}$ be the set of second halves of the words in $L$. Also let $L^R$ be the set of reversals of words in $L$.
If $L$ is regular then so is $L^R$. Since $L_{-\frac12} = ((L^R)_{\frac12-})^R$ it is sufficient to show that if $L$ is regular then so is $L_{\frac12-}$.
Let $M = (Q,\Sigma,\delta,q_0,F)$ be a DFA such that $L(M) = L$.
Construct a DFA $N$ as follows:
- The set of states of $N$ is $Q \times P(Q)$ where $P(Q)$ is the power set of $Q$.
- The start state of $N$ is $(q_0,F)$.
- The set of accept states of $N$ is $\{(q,S) \in Q \times P(Q) \mid q \in S\}.$
- Define a function $\gamma : P(Q) \to P(Q)$ by $$\gamma(S) = \{q \in Q \mid {\rm there\ exists\ } a \in \Sigma {\rm\ such\ that\ } \delta(q,a) \in S\}.$$
The transition function $\bar\delta$ of $N$ is defined by $\bar\delta((q,S),a) = (\delta(q,a), \gamma(S)).$
Then $L(N) = L_{\frac12-}$.
Proof
Suppose $(q_0,S_0),\ldots,(q_n,S_n)$ is the path taken by $N$ on input $w = w_1\cdots w_n$, and $(q_n,S_n)$ is an accept state. Then $q_0,\ldots,q_n$ is the path taken by $M$ on input $w$ and $q_n \in S_n$.
From the definition of $\bar\delta$, there exist $q_{n+1}, \ldots q_{2n} \in Q$ and $v_1,\ldots,v_n \in \Sigma$ such that $q_{n+i} = \delta(q_{n+i-1}, v_i) \in S_{n-i}$, so $q_0,\ldots,q_n,q_{n+1},\ldots q_{2n}$ is the path taken by $M$ on input $w_1\cdots w_nv_1 \cdots v_n$. Also $q_{2n} \in S_0 = F$ so $w$ is the first half of a word accepted by $M$.
Conversely suppose $wv \in L(M)$ and $|w|=|v|=n$. Let $q_0,\ldots,q_{2n}$ be the path taken by $M$ on input $wv$, and let $(q_0,S_0), \ldots, (q_n,S_n)$ be the path taken by $N$ on input $w$. Then $q_{2n} \in F = S_0$ and so it follows by induction on $i$ that $q_{2n-i} \in S_i$ for $0 \leq i \leq n$. In particular, $q_n \in S_n$ so $N$ accpets $w$.
Best Answer
This is not necessarily true. Let $\Sigma = \{0, 1\}$, $A = \{0^n1^n \mid n \ge 0\}$, $B = \Sigma^*$. Then $AB = \Sigma^*$, which is regular. But $A$ is not regular.
This shows that one cannot necessarily split the regular expression of $AB$ into one for $A$ and another for $B$.
If you want a counterexample in which both $A$ and $B$ are not regular, let \begin{align} A &= \{w \in \Sigma^* \mid \#_0(w) \ge \#_1(w)\},\\ B &= \{w \in \Sigma^* \mid \#_0(w) \le \#_1(w)\}, \end{align} where $\#_0(w)$ is the number of occurrences of $0$ in $w$. Then $AB = \Sigma^*$.