Normally you would use the "sizeof" macro to memcpy (or (sys_)malloc) stuff, like this:
memcpy(node_2_nodeCopy_i,node_to_node,999999*sizeof(var)); //
//wait(1); // is this because of the memcpy above? that's not necessary
memcpy(visited_i,visited,999999*sizeof(var)); //sizeof(var) = 4
Go ahead and please post in the pathfinding thread should you run into any troubles!