The short answer is 'Yes' a script task can do this. You would first ensure that the data is ordered properly, declare a package variable as the counter, a package variable for the Name value, and write the script to review the increment the value of the counter variable when the Name value = the variable Name value.
What will you be doing with the data once it is in the format Name^#?