You don't need to nest if expressions in Arc, you can do this:
(if a b
c d
e f
g)
For defining power, it's easier to use a recursive function:
(def power (n p)
(if (is p 0) 1
(> p 0) (* n (power n (- p 1)))
(/ 1 (power n (* -1 p)))))
If you want to use for then the problem is indeed (for x 0 power -1). for only counts up, so (= acc (/ acc nbr)) never gets executed because 0 is already greater than power.