1.) By continously bit-toggling a port. Use Timers in Interrupt if possible.
2.) For example, to generate a 2000Hz frequency, you need to get the High time which is 0.25ms and Low time which is 0.25ms, for one period. Use a calculator, a pencil and a paper too.
3.) Again, use delays here, or timer, example, a 256Hz note played for 0.5 seconds.
4.) Refer to (2).
5.) Any Ports from Port A to the last port as long as it's a digital (A/D not enabled) and its tri-state registers are set to outputs.