I have 3 KML files that I am loading in based on this example (thank you @geocodezip): http://www.geocodezip.com/geoxml3_test/v3_geoxml3_multipleKML_test.html
On the sidebar when hovering your mouse over one of the KML file names in the sidebar more than just that single file is being highlighted on the map when only the hovered item should be highlighted.
Multiple files highlighted wrong
Just one being highlighted correct
I did some investigating and I found that different pairs are being highlighted if they have the same number of "Placemarks" in the Document\Folder\Folder directory.

In the KML files that I have the files "ice.kml" and "rainier.kml" both have 1 placemark folder and "preston.kml" has 2 placemark folders.
The files I use are at the GitHub link below.
https://github.com/PieDevTest/KML-Website
EDIT:
Shouldn't "function kmlHighlightPoly(pm) {" function take 2 parameters? Like "function kmlHighlightPoly(pm, mp) {" or whatever you want to name the second var?
<td onmouseover="kmlHighlightPoly(2,2);" ... >
The above generated HTML seems to be like (# of placemarkers, row #). So if I added another placemarker to the "preston.kml" file it would be "kmlHighlightPoly(3,2)". Which would be fine until another kml file with 3 placemarkers was added and then they both would be highlighted together since the kmlHighlightPoly function is just looking at the first number and not the row number.
function kmlHighlightPoly(pm) {
for (var j = 0; j < geoXmlDoc.length; j++) {
for (var i = 0; i < geoXmlDoc[j].placemarks.length; i++) {
var placemark = geoXmlDoc[j].placemarks[i];
if (i == pm) {
if (placemark.polygon) placemark.polygon.setOptions(highlightOptions);
if (placemark.polyline) placemark.polyline.setOptions(highlightLineOptions);
} else {
if (placemark.polygon) placemark.polygon.setOptions(placemark.polygon.normalStyle);
if (placemark.polyline) placemark.polyline.setOptions(placemark.polyline.normalStyle);
}
}
}
}




So I ended up changing the below highlight function to take a second param and switched the if check to look at the "j" var which is what the "row" would be instead of what the "placemark" would be at.
Also made the same i to j switch in the makeSidebarPoly functions and highlightPoly(placemark.polygon, j); line in the useTheData(doc) function.
You can view the full set of changes on GitHub.