Please use code tags when posting code.
You don't need the pulldown resistor, however you probably want to smooth the current reading using a resistor between the Hall sensor output and the Arduino pin, and a capacitor from the pin to ground. For example, 10K and 1uF.
Regarding your code, it is good practice to declare variables locally instead of globally when you are only using them in a single function, for example:
int sensorMv = analogRead(0);
sensorMv = constrain(sensorMv, sensorCal, 1023); //set sensorCal to min value
sensorMv = map(sensorMv, sensorCal, 1023, 0, maxamp); //set sensorCal to 0 amps, then 1023-sensorCal is range, divided by 40mV per amp or 8.16units per amp
int pin3 = analogRead(3); //all the pin3 stuff is testing code, using a pot to mimic the sensor
pin3 = constrain(pin3, sensorCal, 1023);
pin3 = map(pin3, sensorCal, 1023, 0, maxamp);
int sensorOut = analogRead(0) * 4.9; //quick conversion to mV from the sensor
Variables maxamp and sensorCal do need to be declared globally because you need their values to persist between function calls.