All indexes (MyISAM and InnoDB) are BTrees. A BTree naturally "clusters" the info. The additional trick is to be "Using index". That is, all the necessary fields need to be in the index. (For a mapping, that is two columns.)
A 1-to-N or M-to-N mapping would like to have the N items "clustered". With the proper index, MyISAM and InnoDB each can achieve the clustering. For details of the necessary indexes:
http://forums.mysql.com/read.php?24,262693,262996
There is no simple answer on which performs better: MyISAM vs InnoDB. It depends on how often you are changing the table, how big the table is (versus RAM size), how random the lookups are, etc.