Can I refer to another object's properties from a Cycles node shader? Drivers? If so, how?
As you have said you can use drivers  were you get X,Y and Z separately from using drivers then combine them and use the result :

here is one of the drivers :


and this is the what changed in the node setup :



and this is the result : I'm moving the Empty object 'which is not visible' 



Note : i didn't use driver directly on the 'combine XYZ' because it was clipping negative values