To your first question:
tan β_i = sin β_i / cos β_i = 2^{-i}.
So cos β_i = 2^i sin β_i. Square and use Pythagoras for cos^2 β_i = 2^{2i} (1 - cos^2 β_i).
Solve for cos^2 β_i and take the positive square root for 2^i / √(1 + 2^{2i}) = 1 / √(2^{-2i} + 1).
To your second:
I presume the author multiplied 1 by K to get c <- K. When you multiply 0 by K you still have s <- 0 though. I haven't figured out the justification for moving the multiplication from after to before the loop but if it works for c it works for s too.
edit:
If you write
c_new ← cos α[i] × (c - tan α[i] × s)
s_new ← cos α[i] × (s + tan α[i] × c)
c ← c_new
s ← s_new
with a complex variable z = c + is (changing the index variable to j) you get
z ← cos α[j] × (1 + i × tan α[j]) × z
which makes it more obvious (to me) that you can pull the multiplication by cosines out of the loop.
z <- 1 # c=1, s=0
z <- K × z # c=K, s=0
...loop...