Transaction using too many pieces
Is it really necessary to indicate the age of the pieces used?


The "age" is shown only in Blockcypher's API. Transaction itself does not have such field


  Is there a way to reduce the size of the transaction script? 


Yes. Use segwit