1. While it would be straightforward to add this to PLINK2, I suspect it would create more problems than it solves.
The issue is, the .gen format includes separate P(hom ref), P(het), and P(hom alt) probabilities, whereas PLINK2 only keeps track of a single "alt dosage" value (since the other values take up quite a bit of space, while having minimal relevance to PLINK2's analysis functions). I.e. {P(hom ref)=0.2, P(het)=0.52, P(hom alt)=0.28} and {P(hom ref)=0, P(het)=0.92, P(hom alt)=0.08} are both imported as "alt dosage = 1.08", and if you then ask PLINK2 to re-export this information, it'll always be represented as {P(hom ref)=0, P(het)=0.92, P(hom alt)=0.08}. This "lossy compression" makes PLINK2 a poor choice for general-purpose .gen data management.
What I can do is create a mini-qctool which uses PLINK2's multithreaded .bgen loader, and can directly export a .gen.gz without throwing away any data.
2. The impute INFO statistic requires all three probabilities, so PLINK2 cannot compute it (instead, it will have an option for computing the similar MaCH r^2 statistic). However, this would also be straightforward to support in a mini-qctool.