Yes! It's a little more complicated in general, but you can choose between any events with probabilities $p_1, p_2, p_3, ..., p_n$ in the following way:
Partition the interval $[0,1]$ into disjoint subintervals of size $p_1, p_2, ..., p_n$. For your example, the subintervals would be $[0, 1/3], [1/3, 2/3]$, and $[2/3, 1]$.
Assign heads = $1$ and tails = $0$, and start flipping the coin to generate successive digits, after the decimal point (binary point?), of a binary number . Stop whenever you're sure which interval the number will land in.
For instance, in your case, if you get heads, tails, and then tails, your number will be $.100$. You can stop flipping the coin now, because every binary number that starts with $.100$ must be in the interval $[1/3, 2/3]$, and you can confidently choose the second of your three events without having to flip the coin infinitely many more times.
Interestingly enough, this means that with just a coin, you can pick an event with probability $1/\pi$, or any number you want!