1) Correct. Since PC1 and 3 are in same subnet/VLAN, the traffic will be broadcast to all ports in same VLAN, so no need for gateway.
2) Yes if PC1 and PC2 are in different vlan/ broadcast domain, they will need a gateway. So you can have either a Layer 3 Switch (using SVI) or Router to do the inter-vlan routing.
3) Yes as said above you will need a layer 3 device (either a router or a L3 switch) for inter-vlan routing. The way it will work is, lets say PC1(VLAN10) tries to reach PC2(VLAN20), Since ip address of PC2 is not in same subnet, it will be delivered to the default gateway.
4)Yes, if you need to pass on the VLAN tag it needs to be trunk port.
By the way if you post this in LAN, Switching and Routing section you will get lot more views than this. Anyways let me know if you have more questions.
Please rate all helpful posts.