Heu, je les ai toujours compris comme miles=singulier, milites=pluriel (nominatif, bien sûr) ... Certes, je ne suis pas un latiniste expert, mais ...
Pour leur signification, c'est un terme un peu fourre-tout, mais au Moyen-Âge central, c'est le terme classique pour évoquer le chevalier, il me semble, en tout cas c'est comme ça qu'on le traduit généralement dans les chartes. Au XIe, c'est sans doute déjà le cas. Le glissement sémantique logique est le suivant : miles désigne le soldat de métier, qui au final émerge comme "chevalier" à cette période. Bien qu'à la base le terme désigne plutôt le fantassin ...
De là à établir une définition réellement claire et exhaustive, ça me semble difficile : c'est typiquement le genre de mots qui recouvre différentes significations, celles-ci évoluant avec le temps. Pour le XIe, on peut à mon sens traduire par "homme d'armes" ou "chevalier" suivant le contexte ...