View Provider placements in FreeCAD are in the global coordinate system. Gcode however, exists (and needs to exist) within the coordinate system of the Job. Everywhere else in Path, we overcome the problem by creating copies of the base objects, translating them into the coordinate system of the job, and generating gcode from them rather than the 'real' part. This lets you, for example, lay out multiple parts to be cut from one sheet.
But when it comes to imported gcode, there is no base object to copy/translate. The only thing we have to work with are the raw gcode commands that were imported.
Check out the Path Scripting page. The Path and Command objects should have what you're talking about.edit: this is a little off topic, but I've noticed that the gcode parsing is done in several different places. Would it make sense while I'm working on this to consolidate it? I was thinking of making a gcode object and having a fromStr, toStr, toPath function, etc. That way it should be a little more consistent.