This does it in a single table scan:

    SELECT Account_ID
      , MIN(Min_Date) AS DateFirst
      , MIN(DATEDIFF(day, Min_Date, NULLIF(Tran_Date, Min_Date))) AS Days_Passed 
      , MAX(Tran_Amount) AS Max_Amount
    FROM (
      SELECT Account_ID
         , Tran_Date
         , Tran_Amount
         , MIN(Tran_Date) OVER ( PARTITION BY Account_ID) AS Min_Date
         , MAX(Tran_Amount) OVER (PARTITION BY Account_ID) AS Max_Amount
      FROM trans
      GROUP BY Account_ID, Tran_Date, Tran_Amount
    ) I
    WHERE I.Tran_Amount = I.Max_Amount 
      OR I.Tran_Date = I.Min_Date
    GROUP BY Account_ID
      


This query assumes that only a few rows are found per `Account_ID`. You can improve the speed of the query (which does a sort) by adding `Tran_Amount` to the index. While your question does say you cannot edit the schema, at least you can have a discussion with the DBA if you see an improvement on experimental data.