Pretty much all units may attack other units in combat. The exceptions are:
Subs cannot attack planes.
During amphibious combat, transports,subs and aircraft carriers cannot attack the land being defended. Battleships get only one bombardment shot. Planes may be flown off the carrier to assist in the attack.
AA guns cannot attack anything but planes. Non-combat shots by the AA is a house rule (I beleive)
During strategic bombing runs, only AA guns can attack the bombers (one roll for each bomber).
If a carrier is attacked, yes the planes assist in defense.
I’m not sure what you mean by using the punchouts to mark the flight path…