Network devices can only see MAC addresses of devices on the local network (broadcast domain, actually.) ARP traffic is broadcasted and not routed. When your Computer A is trying to communicate with Computer B on a different network, it doesn't need to know the MAC address of B. It only needs to know how to route to that IP address and the MAC address of the local router.
Switches operate at layer-2, e.g. ethernet, and they don't get involved with layer-3, e.g. IPv4, IPX, IPv6, AppleTalk, etc. This allows switches to switch traffic at layer-2 for any layer-3 protocol.
ARP is used by hosts to translate a layer-3 address to a layer-2 (MAC) address, so switches don't use ARP, nor are they even aware of the layer-3 addressing.
If a host doesn't have the layer-2 address for a particular layer-3 address in its ARP table, it will use ARP (broadcast) to discover the layer-2 address for that layer-3 address.
A switch has a MAC address table, not an ARP table like the hosts (except where it is a host for management purposes, but that has nothing to do with the switching function). While an ARP table can look up a layer-2 address from a layer-3 address, a switch MAC address table will look up a switch interface from a layer-2 address. Many people get this wrong.
If a switch doesn't have a layer-2 address in its MAC address table, then it will flood the frame to all interfaces, except the one where it entered the switch.
Switches will broadcast any frame with the broadcast layer-2 address to all switch interfaces, except the one where the frame entered the switch.
Multicast, at layer-2, where switches operate, is a form of broadcast, and multicast frames are treated like broadcasts. This has been mitigated by IGMP snooping in many new switches. This allows a switch to snoop on the IGMP requests by hosts to a multicast router. A switch with IGMP snooping enabled will learn and build a table of which interfaces have requested to join which IGMP groups, and it will only send traffic to those interfaces for that multicast group.
None of the switch behavior has anything to do with ARP or ARP tables in hosts.
Best Answer
The RFC doesn't address your second scenario. The reason for this is that Host C sending to Host A may not be on the same network as Host A. Host A having an ARP cache entry in that case doesn't make sense since Host A will never look for Host C in its ARP cache. Host A will always know Host C is not on its network, so it will always look for its own gateway's entry in its ARP cache when it wants to send to Host C.
There may be implementations that do what you what you describe, but it is not addressed by the standard, and it would seem to waste ARP cache memory.