Large MySQL operations slowing down SELECT queries on unrelated tables
The real problem is all the I/O that is needed in creating indexes on huge tables.

When the index is being created, does SHOW PROCESSLIST say "Repair by key_buffer" or "by sorting"?  Sorting is better for large tables.

Are you running only MyISAM?  If so, make these changes:

innodb_buffer_pool_size = 0
key_buffer_size = 3G


However, if you switched to InnoDB and a new enough version of MySQL, you could CREATE/DROP indexes "online" -- that is, without recreating the table (as happens in MyISAM).  This would significantly decrease the I/O, hence cut back on the interference with the other queries.

A 5 second query using SSDs and RAID-10?  Yikes!  What is the query doing?  Please show us the query, together with SHOW CREATE TABLE.  It can possibly be sped up to be sub-second.

You say it is not I/O -- would you share the details of the evidence.

Yes, into "Multiple Key Caches".

query_cache_size=256M


is too high.  Don't go above about 50M, so as to avoid lots of overhead in "pruning".

Summary:


Change some settings;
Switch to InnoDB;
Speed up the 5-25s query.