What is the best way for controlling array of 8-16 relays?

  1. What will be the state of output pins on power on/restart?

This is an issue you need to deal with. See this on the http://ArduinoInfo.Info WIKI:

http://arduino-info.wikispaces.com/ArduinoPower#4-8