An interesting proposition. I had been looking at flying probe requirements and have come to a conclusion that in a multi axis setting there would need to be too many anti collision checks to kee g-code as a viable coding medium.
On the question of pick and place I am convinced it is a viable client for EMC and g-code.
n general PCB cam software outputs SMD component centroid information.
You would need to write a parser of centroid data to convert it to suitable G-code. Dont forget You have at least three commands in standard G-code You could use in lieu of vacuum on vacuum off for the pickup nozzle. namely you could coopt FLOOD ON, MIST ON and LUBRICATION OFF as a control line for vacuum.
Given the centroid information and feeder number it is quite feasible to write a script ( stand alone program ) which will bring the location of pick up point and placement points into G-code instruction.
centroid data ( x,y)
feeder number k => which automatically gives feeder pickup point (Xk,Yk, Zk)
PCB thickness t
Component thickness Ct
so now the pickup routine would be
G00 Xk Yk Zk+offset ( offset to clear component thickness)
G01 Zk+Ct ( nozzle resting on the back of component )
M8 ( time to swithch vacuum on say using FLOOD ON)
G01 Fabc Zk+offset ( pickup component above feeder at a slower rate so as not to break vacuum nozzle hold)
G01 Xx Yy ( deliver component to the centroid coordinates)
G01 Zt (Bring the component to the top surface of PCB )
M9 ( turn vaccum off using ALL LUBRICATION OFF and perhaps even activate pushh down pin inside pickup nozzle)
G00 Zk+offset ( move to new pickup height and now ready to pickup next component)
All of the above can be programed within a script to output Gcode and make the machine perform rudimentary pick and place job.
Keep in mind that vaccum pickup is not alway 100% sure thing so you may have to eventually write a script which would do rework pick and place instructions.
I hope this gives You some ideas and do not rely on everything i have said. M codes may prove to be a bad choice i do not know.. You may even have to do some PLC programing within EMC2 to stick your machine together.
In any case ... GOOD LUCK
G01 Fabc Xx Yy