Production SQL Server High CPU for a Single Query
Perhaps we can pull out the execution plan when it seems that particular query is running slow and compare it to the execution plan for when you run it.  If you recently updated indexes it might still have the old exec plan cached, however, it does not answer the question as to why it runs fast when you execute the stored procedure from SQL Server, unless you're using different parameters.

Did you check if AUTO_UPDATE stats is on?

Is your tempdb optimized?  Sometimes PAGELATCH_SH issues will be intermittent.  

Can you view the wait stats, clear them, run the query, and then see the wait stats for when it was slow?

Viewing the plan cache:
http://www.sqlteam.com/article/what-query-plans-are-in-sql-server-memory