|Assume that PC-1 and PC-2 are on the same subnet. |
Sorry, this makes no sense since you show both fa0/1 and 0/2 on different VLAN's. The idea of a subnet is that it talks to other members of that same subnet so it follows logically they would have to be in the same VLAN. If they're not, then they can't talk.
How does FA0/3 need to be configured such that it is a member of both VLAN100 and VLAN200 so that the server terminated to FA0/3 can communicate with, and provide services to, both PC-1 and PC-2?
You would setup routing as such that both VLAN's (subnets) are able to communicate with the server's VLAN (subnet). That's what routers do (among other things). Then, the server would be plugged into the switch just like the clients and would have it's own VLAN assignment on the port it's plugged into.
I would have thought that configuring FA0/3 to be an 802.1q trunking port and allow VLAN100 and VLAN200 would work, but it does not.
No, it won't. A "trunk" port is a port used to interconnect network appliances such as routers, switches and core switches.
A trunk port will have the management VLAN as it's base VLAN and will carry all other VLAN's on it.
Perhaps the NIC that is installed in SERVER-1 would need to be 802.1q capable?
The switch/router has to be 802.1q capable, not the NIC.