1. Recording completion date of task when it is marked as completed. ( In your case a check box so below formula may change or you)
You can create a calculated column Completion Date
This will capture the date when task is marked completed in the task list.
2. To track tasks which are already completed and there dates.
--> Point 1 will help to get completion date , when task is marked completed in the system.
--> Not sure which date you are talking about by this sentense "record and display completion dates that do not correspond to the date when the actual task is marked complete (by checking the box) in Sharepoint." But it is not possible to generate completion date which is not recorded or which is not corresponds to any date we captured in the list by any means.
3. If you want user to input completion date
--> You can create a new column as Completion date.
--> else You can have calculated column for it based on task creation date , start date , due date, etc
- If you want to have completion date based on other action.( Activity which is not related to Project Task list)
--> In this case I agree with Rajesh , its not possible without coding. When that activity is completed , need to build structure that captures that activity complete date to its corresponding field in Project Task List.
Hope this helps !