Additive ElGamal cryptosystem using a finite field
As far as I can tell from your description, the modulus is $p$. To multiply two group elements, you compute $xy \mod p$; because the generator $g$ you choose has period $q$ it'll all work out fine.
No, $p$, $q$, and $g$ can (and must) all be public. This is ElGamal, not RSA we're talking about - the security comes from the (presumed) hardness of taking discrete logarithms rather than factoring.
Yes.
and 5. The Ecrypt report on algorithms and key sizes http://www.ecrypt.eu.org/documents.html is a good place to look. It's not an easy question because it depends on how hard you think it is (and will be in the future) to solve discrete logarithms.


There's an existing, open-source implementation of additive ElGamal (in Python) used in the Helios voting system (http://heliosvoting.org) that you might want to look at.