If the space has at most countably many isolated points, then the answer is yes. To see this, argue as follows. For each rational $r\gt 0$, let $E_r$ be a maximal subset of the space of pairwise distance between points at least $r$. Such a set exists by Zorn's lemma. The complement of $E_r$ is open, and thus is a countable union of balls. By the maximality of $E_r$, we may assume that all of these balls have radius at most $r$. Let $D_r$ be the centers of such a choice of balls, together with the isolated points of $E_r$. Notice that every point of the space has distance $r$ to a point in $E_r$, which is either isolated, or which is very close to points in the complement of $E_r$, which are within $r$ of a point in $D_r$. So every point is within $3r$ of a point in $D_r$. It follows that $D=\bigcup_r D_r$ is a countable dense subset of the space, which is therefore separable.
If the continuum hypothesis holds, then the answer to the question is yes. The reason is that under CH, the comment of Srivatsan below shows that the space can have at most countably many isolated points. To see this, suppose that there were uncountably many isolated points. Let $S$ consist of $\omega_1$ many of them. Every subset of $S$ is open, and hence by hypothesis is a countable union of balls. Thus, every subset of $S$ is determined by a countable subset of $S$, the centers of the balls, and the radii to be used for the ball at each such center. Thus, we have a one-to-one function from $2^{\omega_1}$ into $(\omega_1\times\mathbb{R})^\omega$. The latter set has size continuum, and the former set has size $2^{\omega_1}$, which under CH is larger than the continuum, a contradiction. So there can be at most countably many isoated points, and so the argument at top establishes an affirmative answer to the question under CH.
The argument actually uses somewhat less than CH, and it suffices merely that $2^{\omega_1}$ is strictly larger than the continuum, a hypothesis that follows from but is strictly weaker than CH.
Update. This question recently came up on MathOverflow, and the need for any CH-type assumption has now been omitted. See my answer there, and also the argument of Ashutosh, which specifically handles the case of uncountably many isolated points.
So the full answer is yes, without any qualifications. If a metric space has every open set realized as the countable union of balls, then it is separable.
Let $Y$ be an open subset of an ultrametric space $X$. Since $Y$ is open, there exists a collection $\mathfrak{U}$ of open balls such that $Y = \bigcup_{U \in \mathfrak{U}} U$. We shall adopt the convention that $X$ is itself an open ball – after all, every positive real number is less than $\infty$.
Now, consider $\mathfrak{U}$ as a set partially ordered by inclusion. We may assume $\emptyset \notin \mathfrak{U}$ for simplicity. The observation that the union of an ascending chain of open balls is again an open ball implies we can make $\mathfrak{U}$ into a chain-complete poset by adding in the unions of such ascending chains if necessary. Moreover, since any two open balls are either disjoint or part of a chain, chain-completeness for $\mathfrak{U}$ implies $\mathfrak{U}$ is closed under directed unions.
We define an equivalence relation on $\mathfrak{U}$:
$$U \sim U' \text{ if and only if there is } V \text{ in } \mathfrak{U} \text{ such that } U \subseteq V \text{ and } U' \subseteq V$$
This is clearly reflexive and symmetric; for transitivity, observe that if $U \subseteq V$, $U' \subseteq V$, $U' \subseteq V'$ and $U'' \subseteq V''$, then $\emptyset \ne U' \subseteq V \cap V'$, so either $V \subseteq V'$ or $V' \subseteq V$, and therefore $V \cup V' \in \mathfrak{U}$ and $U \subseteq V \cup V'$ and $U'' \subseteq V \cup V'$, as required. Thus, we can partition $\mathfrak{U}$ into equivalence classes, and each equivalence class is a directed subsystem of $\mathfrak{U}$ by the definition of the equivalence relation. We argued that $\mathfrak{U}$ is closed under directed unions, so each equivalence class has a maximal element. This yields the desired decomposition of $Y$ as a disjoint union of open balls.
Best Answer
$U$ is open, so for each $x \in U$, there exists $r > 0$ such that $K(x,r) \subset U$. Now you can find rational elements $p,q$ ($p \in \mathbb Q^n, q \in \mathbb Q$) such that $K(p,q) \subset K(x,r)$ and $x \in K(p,q)$.
This means that you can express $U$ as the union of such $K(p,q)$. And there are only countably many rational pairs $(p,q)$.
(This is basically the same as Pambos's answer, it just uses more words.)