Finds the input data for a given function call node and a variable guid. An optional cache can be used that, if specified, will be used to get variable data if found and if not, will write into the cache This also means maintaining the cache becomes the responsibility of the caller