Ok but then it will just be slower thats all. Tough really this si the point where you dig out SoUP, or make your own. Orl make a particle object for the lookup but pass the info to the actual nodes in the particle expression*. Or wirite simplae api node to convert array values to and array of values. Or make one instance per particle** 
*Sortof like
float $nupos[];
$nupos[particleobject.id]=oarticleobject.mappedvalue;
if (particleobject.id==$lastParticleNumber){
obj1.tz=$nupos[1];
obj2.tz=$nupos[2];
obj3.tz=$nupos[3];
obj4.tz=$nupos[4];
obj5.tz=$nupos[5];
obj6.tz=$nupos[6];
..... generate as many names as you need (yeah dont type)
}
the above isnt as stupid as it sounds as it does indeed get compiled its MUCH smarter than using settatr! Besides thsi isnt going to be the source of the slowness
As code it looks stupid agreed, but you will be using it trough other code even c can look really ugly after a preprocessing macros gets its job done.
** it also isnt as stupid as it sounds just unwieldy for users. However if you need to drive transofrms that are subobjects of a rig then this wont work offcourse.
Alternatively i have to read the greycolor from the image at defined points
(pixels) and transfer these informations to the objects-shader-colors
or directly to the objects y-translate.
sure, just even slower