The following example does not seem to be possible to realize. I have a AH-6 Little Bird model that has a pair of M134 in the inner pylons and a pair of GAU-19/A on the outer pylon. Both the M134 and the GAU-19/A define their own muzzlePos or muzzleEnd point or points (depending on the type of gun - pair or single - these might be arrays).
The vehicle config itself does not contain a gunBeg/gunEnd array or String. It would be assumed that this would indicate to use the weapon-defined memory points. If the config does contain a gunBeg/gunEnd array or string, the memory points defined in thiese would be used.
The memory points defined in the weapons are apparently never used. Only the gunBeg and gunEnd entries in the vehicle are used. If they aren't defined, all guns fire from the origin of the model instead.
Why this is a problem
At best, it means that a config like the one described above (two pairs of guns) will always fire from the same memory points. At worst, it makes a config with one of the GAU-19/A cannons impossible since it will fire alternately between the defined gun points.
Config: 2x M134, 2xGAU-19/A -> only two memory points can be used, and all pairs of guns fire from the same muzzle
Config: 2x M134, 1xGAU-19/A -> not possible since the GAU-19/A will allternate between the two gun points, giving two trails of tracers
It seems that in the dev branch at least with the dynamic loadout this is somehow possible since the Wipeout can load a pair of gunpods. But with "traditional means", there does not seem to be any way to use the memory points used in the weapon itself (Except for particle effects).