Let's focus first on the Koch curve. A standard construction for the curve starts with a single line segment, breaks it into thirds, and replaces the middle third with the other two sides of an equilateral triangle.

Now, by "vertex of the Koch curve", I suppose you mean one of the vertices in one of these polygonal approximations. The easiest way to prove that there are countably many of these is to simply point out that there are finitely many at each step and that the total collection of vertices is the countable union of these finite sets. Nonetheless, it is an interesting problem to enumerate them explicitly and potentially useful as there are certainly self-similar sets where these points play a distinguished role in the limit set.
The construction of the Koch curve can be described using an iterated function system $\{T_0,T_1,T_2,T_3\}$, where
\begin{align}
T_0(x) &= x/3 \\
T_1(x) &= R(\pi/3)\,x/3 + \langle 1/3,0 \rangle \\
T_2(x) &= R(-\pi/3)\,x/3 + \langle 1/2, \sqrt{3}/6 \rangle \\
T_3(x) &= x/3 + \langle 2/3, 0 \rangle. \\
\end{align}
In this notation, $x\in\mathbb R^2$ and
$$
R(\theta) = \left(
\begin{array}{cc}
\cos(\theta) & -\sin(\theta) \\
\sin(\theta) & \cos(\theta)
\end{array}\right)
$$
is the rotation matrix through the angle $\theta$ about the origin.
Now, the segments in the first step of the approximation are exactly the images of the unit interval $((x,0):x\in [0,1])$ under the functions in the IFS. We might represent this like so:

The side labeled $\{i\}$ is the image of the unit interval under the function $T_i$. The process extends naturally to the next level.

The segment labeled $\{i_2,i_1\}$ is the image of the unit interval under the function $T_{i_1}\circ T_{i_2}$. These segments come in a natural order to form a continuous path moving from $(0,0)$ to $(1,0)$. As such, each has an initial endpoint and a terminal endpoint. The labels on the edges can be used to enumerate the vertices. Specifically, each label is the base four expansion of an integer; we'll map that integer to the initial endpoint of the corresponding segment. At level three, this produces an enumeration that looks something like so:

To map onto the vertex of the snowflake itself, you can simply map the multiples of three to the vertices above, the numbers of the form $3n+1$ to one of the other sides and the numbers of the form $3n+2$ to the remaining side. Note that the right most point above is not taken. That's fine, as that can be the initial point of the next side.
Would it be possible to construct a co-ordinate system with step size equal to the base of the triangle and biject the vertices to the x-component? I'm hoping that somehow there will be a bijection to the rationals between 0 and 1.
– Jun 12 '15 at 07:15Of course, after a finite amount of iterations, we can easily biject the finitely many vertices.
– Jun 12 '15 at 10:38