Your problem is that you didn't consult the doc (using C-h f) of copy-to-register. You didn't pass it a register, which needs to be a character, not a string. And you didn't pass it the region boundaries, so it has no way of knowing what text you want to copy.
This should do what you want:
(defun mycopy (begin end)
You don't say whether you want the saved locations to be saved persistently or just for the current Emacs session.
In any case, you can have either or both, with Emacs bookmarks.
If you use Bookmark+ then you can have create bookmarks without bothering to give them names -- just hit C-x x RET (or bind that command to another key). The bookmarks created ...
I realize that this is an old post, but I actually just finished something which I believe does what you're looking for. I didn't realize when I wrote it that anything similar existed, so I'm not sure how it compares to previously mentioned packages.
The package I created is called "footsteps", and it can be found at the following link: https://...