If the number of date columns is variable there is no chance to solve this problem with T-SQL language (anyway you might do this with a CLR function in C# or VB.net).
If the number of date columns is fixed and always the same, you can do something like:
DECLARE @date1 AS nvarchar(10);
DECLARE @date2 AS nvarchar(10);
DECLARE @date3 AS nvarchar(10);
DECLARE @query AS nvarchar(max);
SET @date1 = <first date found>;
SET @date2 = <second date found>;
SET @date3 = <third date found>;
SET @query = 'SELECT <a field>
, <another field>
, SUM(<first field to summarize>) AS [' + @date1 + ']
, SUM(<second field to summarize>) AS [' + @date2 + ']
, SUM(<third field to summarize>) AS [' + @date3 + ']
FROM [dbo].[<source table name>]
WHERE (<any filter expressions here>)';
EXEC sp_executesql @query;