It will work with tone() function ?
Yes. It will work with whatever you supply to its input.
Can I have separate voltage supply for arduino and amplifier (each powered from 9V battery ) ?
Yes, no problem.
This circuit will handle 3W 4ohm speaker ?
I think so, but word "handle" has to be cleared.
LM386N-1, LM386M-1, LM386MM-1 VS = 6V, RL = 8Ω, THD = 10% 250 325
LM386N-3 VS = 9V, RL = 8Ω, THD = 10% 500 700 mW
LM386N-4 VS = 16V, RL = 32Ω, THD = 10% 700 1000 mW
As you can see, LM386N-3 satisfy your requirements for Voltage, but not for R load and Power. Probably, it will works with 4 ohm load, the same time distortion level would be higher.
And power, of course, less than 25% of what speaker can accept.