AFV Club currently offers all the major versions that make it pretty easy to build all the other versions by mixing and matching different parts from their existing kits. Here is a rundown.
M108: AFV Club kit
M109: AFV Club kit
M109G - Germany: AFV Club kit
M109A1
Replaced the M126 gun (M109 gun) with a longer barreled, 39 caliber M185 gun.
To model: Use the M109 kit and replace the barrel with one from the M109A2 kit. Alternately, use IDF M109 Rochev 1983 kit and leave off all IDF parts.
M109A1 Rochev (1983) - IDF: AFV Club kit
M109A2: AFV Club kit
M109A2 Doher - IDF: AFV Club kit
M109A3
Rebuilt M109A1 to A2 standards; only external differences to an A2 are flotation bolts left on hull sides and lugs left on front lower plate. To model: Use the M109 hull, but leave off the parts for the flotation collar on top of the hull under the front of the turret.
M109A4
M109A2s and A3s with added NBC protection and a few other improvements; all intenal, no external differences to A2s.
M109A5
Replaced the M185 gun with the M284 gun (M109A6 gun). To model: Use the M109A2 kit and replace the barrel with one from the M109A6 kit.
M109A6: AFV Club kit
M109A7: Panda kit
Your best bet is to stick w/the AFV Club kits. They are light years ahead of the old Italeri kits. All the others are reboxes of Italeri's molds, with some minor updates in the Tamiya kits and usually some stowage and/or figures added. The Kinetic A2/A3 isn't that good (about the same as Italeri) and is soft on details. Riich Model never released thier A6.
I doubt Panda will come out w/an updated version, but who knows.
The engine can be used on any version of the M109 up through the A6. The engine layout didn't really change.