SQL PIVOT multiple columns
Use a Matrix control in SSRS.

But in T-SQL:

You want a row per ID so you'll need GROUP BY ID

In the first column you want a time value where the activity is A, so use: MAX(CASE WHEN Activity = 'Activity A' THEN time END)

And then apply the pattern for all the others.