I'll try few answers.
Does anything need to be done to the PHY driver file that I created for the KSZ9477 or does modifying the MIIM driver cover that as well?
The MIIM driver is just a communication channel to the PHY. It doesn't do anything by itself, other than allowing you to read/write registers on the PHY. What exactly registers you need to set up, is different from PHY to PHY, or switch in your case.
But take a look at the switches that are already supported, to see how they need to be programmed: KSZ8863, for example.
Any ideas whether or not Microchip has future plans on revising this issue?
The problem, as you noted, is that these switches are normally used on higher performance platforms: MPUs and such, usually running Linux.
We've just started to add Harmony TCP/IP support for some of the MPUs. So the answer to your question is yes. But I cannot promise any deadline for it now.
Why does this define exist then "DRV_ETHPHY_USE_DRV_MIIM"? What does it do?
Initially the TCP/IP stack (actually the MAC driver) was talking to the PHY using directly the MIIM interface.
This was replaced with the MIIM driver, to allow support for other interfaces: I2C, SPI, etc.
This is the default setting right now and most of the supported PHY's won't even work without the MIIM driver being present. This symbol "DRV_ETHPHY_USE_DRV_MIIM" will be removed from the code/configuration.