You mention calibrating... how would i do that?
That's easy: put a big obstacle in front of the sensor, read the value it puts out and measure the distance manually. Do this for several distances and use that as the reference table.
as far as point b is concerned, perhaps the arduino analog input is also converting the numbers it receives some how?
The Arduino is not receiving the numbers, it's measuring them. The value you get is telling you that that many times a 1023th of the reference voltage (if you've not chosen something different explicitly, that's the voltage you're powering the Arduino with) is currently present on the analog input pin. The problem here is that if you're powering the Arduino by USB this voltage may vary over time so you don't get really usable values (although you might get a trend in any case).
I'm trying to compare this number with the chart on page 3 under the "Electro-Optical Characteristics section".
I don't have a chart there, just a table.
How am i supposed to understand the line that has the parameter "Output Voltage"? does it mean that if I measure 0.4 volts on the wires, then value i get should be divided by 150?
No, it means, if you get a value of 82 (which equals 0.4V if you power with a stable 5V) the obstacle is about 150cm away. But as you also can see there, that value can be in the range between 51 (=0.25V) and 112 (=0.55V). That's why I told you that you might have to calibrate by looking what your sensor is giving you at that distance. If you look at page 4 you can see the curve that describes the relationship between the measured voltage and the distance the obstacle has from the sensor. The calculation is not done by a simple division. If you want a realistic value you have to do at least a square approximation.
It'd be nice to get the algorithm correct for learning purposes and for being able to control my robot with accuracy...
I don't know if that's the right sensor if you want accuracy for your robot.