You need a short needle for sub cutaneous injections, but the needle gauge depends on the viscosity of what you're injecting. If the liquid moves slowly in the bottle then it's thick and you need a bigger gauge (white) than if the liquid moves like water, in which case you can use a green needle.
People tend to think that the bigger the needle gauge, the more painful the injection, but this is not so. It's how fast the liquid goes in that can cause pain by damaging the tissues under the skin. If you are using a narrow needle, then press the plunger more slowly than if you are using a thicker one. Practice squirting water into the air if you don't believe me.
In fact thicker liquids tend to be given intra muscularly, so using a 1" or 1 1/2" white needle is fine for those, length depending on the depth of muscle at the injection site - deep enough to get into the bulk of the muscle, not so deep you bump into bone (which is very painful)