You can change the location of index files by following web.config settings
<add key="CMSSearchIndexPath" value="App_Data\MyCustomIndexes" />
If you'll have the same folder mapped to external storage it should theoretically work
StorageHelper.MapStoragePath("~/MySite/Media/", mediaProvider);
See how to configure the storage.