The answer to at least the first two questions comes from paying attention to the configuration file in which these two properties are defined.
They are defined in the mapred-default.xml and could be optionally overridden in the mapred-site.xml.
These configuration files govern a entire data node, so the configurations are not on a single job or task basis.
So for example io.sort.mb as 1024 implies that 1024 mb of the data node will be allocated for the sorting phase of all the map tasks running that node. It is shared between all map tasks.
I am not entirely sure of the 3rd question but my guess is that it should work along similar lines.