Explanation and solution of an error in Differential Amplifier Current Soruce circuit
Page 3 of the CA3140 Datasheet shows 5-15mV input offset for this amp, but that should be correctable with R3. It almost seems as though the offset nulling isn't working at all. Note on this page it also recommends R3 be 4.7k for the CA3140 and 18k for the CA3140A. Additionally, it shows several alternatives on page 7 for more nulling resolution.

Any particular reason why 100k was chosen for the differential input resistances? High resistances introduce more noise, as fewer electrons are physically moving through them ("shot noise.") A lower value will give a less noisy output at the expense of added current draw. It also will skew the reading, as it's drawing some power from across R9, which will mean a larger null correction. So there is definitely a lower boundary for the value. Unless the 1% values are off in just the wrong way however, it wouldn't explain the error.

As for this amp's true "rail-to-rail output" capability, it simply says "Output Swing Complements Input Common Mode Range", which is then defined as "Wide Common Mode Input Voltage Range (VlCR) - Can be Swung 0.5V Below Negative Supply Voltage Rail". This is ambiguous... is it a true rail-to-rail opamp or not? You should definitely connect a 'scope to it's output and see what is going on as Spehro hints to. There could be high-frequency oscillations, solvable with a small (pF) capacitance across it's inverting feedback loop. 

If prototyped on a solderless breadboard, often the parasitic inductance and capacitance of the busses and insulators can cause unwanted (or wanted!) behavior, which should not manifest on a well-routed PCB. Even if it's not "needed", it would be a good idea to leave a pad for this capacitor on a finished PCB, just in case one needs to be added in practice. C10 rolls off IC1A's response to a relatively low frequency, but there is no such frequency limit on IC3, just R5.