The ping plugin example is limited to the abilities of the host's native ping utility, since that command is what the plugin calls. Typically, standard ping only takes a single host as an argument.
In order to extend the plugin to ping multiple hosts, one would have to do things a little differently. One method might be to use a script that would parse a list of hosts that were comma or space delimited, and run through them using the host's native ping command. Another way might be to use a ping utility that can take multiple hosts as arguments, like fping. I experimented a bit with this last method, and it looks like an interesting possibility. The challenge to a multi-host ping via a plugin is getting out the useful information regarding which of the specified hosts you are checking is down when a failure occurs. I'm sure this could be done with creative use of the PDK, but so far, I have found it simpler to create a service definition for each host I am wanting to ping.
If you come up with something creative and useful, please do share it with us.
I believe your yellow availability indicator is a product of the time range settings for your view. If you have the range scaled up enough that several availabilty data points exist within each time slice, some of which are green, and some of which are red, you would see the partially available yellow indicator. If you scale down your range enough, you should see the red indicator showing unavailability.