Ture, the denominator is 2^n so we do not need general fractions. The bit size is F(n) is n * k * log(sqrt(5)). So you can just plug that into big integer arithmetics algorithms to get an upper bound for the time complexity.
Long fixed point is not long enough, you will run into trouble soon for even small value of N. Think about F(1000) for example. If you only want to compute Fibonacci numbers that fit in long fixed point format, you might just use the loop or even precompute them all in a table. There are not that many. 64 bits can store only up to F(93). Some platforms have 128-bit integer but it does not go much further.
Well the question to ask here is not to find the best algorithm to compute the Fibonacci numbers. The question here is how many different ways you can do it. Or whether you can do it with some constraints, like not losing precision.