What you could do (in case of you're plane being a rectangle) is to store the x and y-coordinates separately, so you can use the ProcessInstanceQuery variableValueGreaterThan(String name, Object value); method (and other) to get process-instances which are located in that rectangle.
Other shapes and geometries don't work this way, off course… The variable-query mechanism is quite fixed in activiti, using the available columns in ACT_RU_VARIABLE (TEXT_, LONG_, …) to do simple operators on. If you want to have advanced querying-support on top of the relation DB activiti is using, you're basically on your own.
If you depend on an external system to "index" or "query" the coordinates, than you can keep the task-id and coordinates up to date using activiti-task-listeners and execution-listeners, preventing you to manually keep both sides up to date with new processes…