"How does Access know which index to use if you define multiple indexes for a table"
If you just open the table to look at it, or pull it into a query, Access uses the primary index to order the records. At all times, however, Access maintains the indexes so they're always up-to-date.
Using code, if you open the table as a table-type recordset, you can tell Access to use one of your other indexes to order the records, or to search using that index as the search key. You can use this feature if the table is actually _in_ your database, but not if it's linked from another db.
Indexes are probably most important when your queries join on indexed fields; the indexes usually make the query run faster.