It's hard to know... If this a volume-controlled signal where sometimes you're listening loud and sometimes you're listening quietly you might need more range/resolution. If the volume control comes after the connection point you shouldn't.
1 count out of 1000 is -60dB so with the 10-bit ADC (0-1023) you've got about 60dB of dynamic range. If you bias the input you loose 6dB. 12-bits would be about 72dB of dynamic range.
But without the bias you can switch to the 1.1V reference (under software control) to get more than 70dB of range.
No, but of course it can't read a 5V signal. You have more range/resolution but it's easier to overload (so you're more likely to need a voltage divider/attenuator).
I've never used one but from what I understand it's faster.
The processor can only do one thing at a time so I think what you have to do is read to find your peak, then "pause" reading while you update your display. I believe that's how Arduino spectrum analyzers normally work. It has to pause reading while it calculates the spectrum and updates the display before it gets back to analyzing the audio. My "simplest effect" does that too, but it's just doing some simple calculations and writing one LED so it doesn't take much time.
That means some audio is skipped but it still works as a visual effect.
The peak detector gets-around that because you don't have to continuously read the audio in a "fast loop", but you only get the volume/loudness so that's no good for a spectrum analyzer.
Yes, the voltage divider will lower the signal. That's for the audio signal.
You can't use a voltage divider on the power supply (the load is in parallel with the "bottom" resistor and the voltage will drop to almost nothing).
Of course a voltage divider won't hurt it and you are very-unlikely to hurt it with a line-level audio signal. You could kill it with a power amplifier/speaker output.