1.) Use a custom date field - Create a custom date field and use a workflow or other mechanism to populate this field with the value of LastModifiedDate. Then contact Salesforce to have a custom index placed on the custom date field.
2.) Use a skinny table - If your query or report performance over large data volumes is sluggish, consider a skinny table. If LastModifiedDate is added as a column, it can be indexed on a skinny table.
3.) Filter on LastActivityDate - If your business requirement is to pull up Account or Contact records related to activities, and if you plan on using a Skinny Table, contact Salesforce to request an index on LastActivityDate on the Skinny Table
4.) Use the Data Replication API - Use getUpdated() to retrieve updated records. Under the hood, the API uses SystemModStamp to determine the matching records, ad if it doesn't exist, will automatically use LastModifiedDate or CreatedDate.