The short answer to OP's why did 'I' use 'could have pp' instead of just 'could return'? is that OP isn't a native speaker (so he made the wrong choice of verb form).
The construction could have [verbed] usually references something that might have happened in the past. It doesn't work in OP's context (where "then" refers to the future time "later today, when we're at the movies"), because OP is referring to the act of returning the pen, which will (possibly) happen in the future.
But note that there are very similar contexts where it's fine. Specifically, when by the anticipated future time ("then", in OP's example) the action will / might have been completed (so it becomes "the Past in the Future"). For example...
"The boss wants to know when you'll finish the report"
"I'm working until 6 o'clock tonight, so I could have / could've finished [by] then"
In my example, the highlighted "conditional Present Perfect" element refers to what will be "the past", at that future time (without the conditional element, it would be I will have finished by then / at that time / before I leave work).
Also note that the Present tense conditional (I could finish it today) refers to something that may or may not happen (it's still uncertain), whereas the Perfect form (I could have finished it today) normally refers to something that didn't happen (it would require an unusual context for the speaker not to know whether he did in fact finish it).
But that "uncertainty" could still apply in some "not-yet-arrived" hypothetical future. In my example, it's still possible (at time of speaking) that I will have finished the report before the time I leave work.