arduino pulse to transistor power maximum
int sensorValue = 1;


Why are you initializing this variable to 1, when it then gets overwritten in the first line of loop()?


  delay(sensorValue); 


Is it intentional to have a varying delay of n milliseconds, where n is the value read from port A0 each time? Also, is that delay required twice, once after setting the output pin high, once after setting it low?



You will require a base resistor between pulse (Pin 8) and the Base of the 2n3055, with a value calculated depending on how much current you intend to allow through the Collector. If you are using the transistor as a switch, then a minimum of around 220 Ohms is suggested, to keep current from the pulse pin under around 25 mA, well within the safe limits for each pin: Absolute Maximum for each pin is rated at 40 mA.


You could power the Arduino from USB and the transistor from the battery, so long as the ground of the Arduino is connected to the negative pole of the battery.
Either way, you will need Arduino ground connected to battery negative.
Put it in series with the coil you are driving, if you want to measure the coil (the transistor's Collector) current. If you want to measure the combination, both Arduino and transistor need to be powered from the battery, and just add the meter in series with either the positive or negative pole of the battery, before any connection to either Arduino or transistor. i.e. all current to the battery must pass through the meter. 
Yes, see point 1.