According to the "How the pH sensor works" section of the datasheet, the meter should return about 1.75 volts at pH 7, and every time the pH increases by 1, the output decreases by 0.25 volts (inversely proportional.) That means that the readings should be
pH 10: 1.75V - (0.25V * 3) = 1.0V; (1.0V/5.0V) * 1024 = 204.8
pH 7: (1.75V / 5.0V) * 1024 = 358.4
pH 4: 1.75V + (0.25V * 3) = 2.5V; (2.5V/5.0V) * 1024 = 512
Your observed readings are pretty close to these theoretical readings, which means your sensor is probably working correctly. The observed readings may be off due to factors like old age, sensor deterioration, and calibration. If you're confident in your measurements and your calibration solutions, you can use those to scale your pH readings.
It seems like your pH readings are changing by 50 for each pH increment, and following the trend, the reading at pH 0 will probably be 650. Also, every time your pH increases, your value decreases, which we'd like to change.
float sensorValue = analogRead(sensorPin);
float pH = (650.0 - sensorValue) / 50.0;
First you find how far your value is from 650 (which we're taking to be 0 pH). Then you divide by the scaling factor (50 units per pH increment). This pH value is stored in a float now, so lcd.print should work properly. If not then you can do something like
lcd.print( (int) ((pH - (int)pH) * 100));
This prints out the integer value of your value, a decimal point, and then subtracts the integer value from the decimal value leaving only the decimal places, scales the decimal by 100 (two decimal places), and prints those decimal places after your decimal point.