For the first question, you are essentially viewing $\mathbb{R}^{k+n}$ as being isomorphic to the Cartesian product $\mathbb{R}^k \times \mathbb{R}^n$. The open sets of $\mathbb{R}^k \times \mathbb{R}^n$ are precisely the unions of Cartesian products of open sets from $\mathbb{R}^k$ and $\mathbb{R}^n$. So, you can express the open subset of $\mathbb{R}^{k+n}$ arising from the inverse function theorem as $U \times V$, where $U \subset \mathbb{R}^k$ and $V \subset \mathbb{R}^n$ are open.
For the second question, your reasoning only works when you know that $g(x) \in V$. A priori it is not known that $g(B) \subset V$, as @Math_QED points out.
To be very precise, here is the conclusion of the implicit function theorem, with the existence and uniqueness claims separated out and elaborated:
There exists a neighbourhood $B$ of $a$ in $\mathbb{R}^k$ and a continuous function $g : B \to \mathbb{R}^n$ such that $g(a) = b$, $(x,g(x)) \in A$ for all $x \in B$ and $f(x,g(x)) = 0$ for all $x \in B$.
Moreover, if $g_0 : B \to \mathbb{R}^n$ is any continuous function such that $g_0(a) = b$, $(x,g_0(x)) \in A$ for all $x \in B$ and $f(x,g_0(x)) = 0$ for all $x \in B$, then $g = g_0$.
So, it could very well be that $g_0(B) \not\subset V$. It will turn out that this is not the case, but this needs a proper argument and cannot be assumed beforehand.
Let me elaborate in greater detail on where and why OP's naive method of proving uniqueness fails.
Suppose $g_0 : B \to \mathbb{R}^n$ is another continuous function such that $g_0(a) = b$ and $f(x,g_0(x)) = 0$ for all $x \in B$. Since $g_0$ is continuous and $b \in V$, there is a neighbourhood $B_0$ of $a$ in $B$ such that $g_0(x) \in V$ for all $x \in B_0$. Now, we apply OP's idea to say that for all $x \in B_0$, we have
\begin{align}
(x,g_0(x)) \in U \times V &\implies F(x,g_0(x)) = (x,f(x,g_0(x)) = (x,0) \in W \\
&\implies (x,g_0(x)) = G(x,0) = (x,h(x,0)) = (x,g(x)).
\end{align}
Hence, $g(x) = g_0(x)$ for all $x \in B_0$. Now, if we replace the neighbourhood $B$ with $B_0$ (since we anyway need the existence only locally), we are done.
But are we, really? What if I can find a sequence of functions $g_n$ for each $n \in \mathbb{N}$ such that $g_n$ agrees with $g$ around $a$ on sets of smaller and smaller measure, such that the intersection of all these domains is the singleton $\{ a \}$? Then, there won't be any neighbourhood of $a$ on which a unique $g$ exists! Such a scenario seems very unlikely, but how to rule it out?
Well, going back to our attempt, we observe that the proof goes through not just for $a$ but for any $a_0 \in B$ such that $g(a_0) = g_0(a_0)$. So, whenever $g(a_0) = g_0(a_0)$, $g(x) = g_0(x)$ for all $x$ in some neighbourhood $B_0$ of $a_0$. So, we have actually proved that $g$ agrees with $g_0$ on an open set.
How does this help? Well, we already know that the set of points $x \in B$ at which $g(x) \neq g_0(x)$ is open, simply by continuity. What we have shown is that the complement of this set is also open. But this implies that the connected set $B$ is a disjoint union of two open sets, so one of them must be empty. And at this point we are done.
And now note that this is literally Munkres’ proof, reproduced with some commentary.
Here is an example that shows why the continuity of $g$ plays a crucial role in determining its uniqueness. Consider $f : \mathbb{R}^2 \to \mathbb{R}$ given by $f(x,y) = x^2 + y^2 - 5$, as in @Math_QED’s answer. We can solve for $y$ in terms of $x$ locally around $x=1$, but in two different ways. This is because $f$ vanishes at both $(1,2)$ as well as $(1,-2)$. So, there is an open interval $B \subset \mathbb{R}$ containing $1$ and continuous functions $g_i : B \to \mathbb{R}$ with $g_1(1) = 2$ and $g_2(1) = -2$, such that
$$
f(x,g_i(x)) = 0 \quad \text{for all } x \in B, \quad i=1,2.
$$
So far, there is no contradiction to the statement that $g$ is unique, for the following reason. There can be several tuples $(a,b)$ for a fixed $a$ such that $f(a,b) = 0$. The implicit function theorem says that for each such tuple, there is a unique continuous $g : B \to \mathbb{R}^n$ such that $g(a) = b$ and $f(x,g(x)) = 0$ for all $x \in B$. And, this is verified in the above example. Once the tuple $(1,2)$ or $(1,-2)$ is fixed, the function $g_i$ is also uniquely determined.
However, if we drop the demand that $g$ be continuous, then it is easy to see how there can be many different functions that satisfy the given conditions. For instance, define $g_0 : B \to \mathbb{R}$ by
$$
g_0(x) = \begin{cases}
g_1(x), & x \in B \cap \mathbb{Q};\\
g_2(x), & \text{otherwise}.
\end{cases}
$$
Then, $g_0(1) = 2$ and $f(x,g_0(x)) = 0$ for all $x \in B$. However, $g_0 \neq g_1$.
This shows that the continuity of $g$ plays a crucial role in proving the uniqueness of $g$.