'could have + past participle' to talk about possible events in the future
BACKGROUND
In this earlier thread, Edwin Ashworth approved a use of 'could have + past participle' for the future event that was precluded by context as in:
(1) Mary could have arrived tomorrow, had she managed to get that flight.
But he did not approve a use of 'could have + past participle' for possible events in the future as in:
(2) */?Mary could have arrived tomorrow.
Nor did he approve a use of 'may have + past participle' for possible events in the future as in:
(3) (?)Mary may have arrived by next week.
(4) *Mary may have arrived tomorrow.
I think that there is no reason to treat 'next week' and 'tomorrow' differently insofar as both refer to a future time. So the different treatment for the latter two examples is because of the existence of the preposition 'by'. That is, inserting 'by' would somehow increase the acceptability at least for the 'may have + past participle' construction.
QUESTION
My question is whether inserting 'by' would increase the acceptability of the 'could have + past participle' construction as in (2):
(2') Mary could have arrived by tomorrow.
Note that (2') is along the lines of (2) in that Mary's arriving tomorrow is a possible future event as opposed to a future event precluded by context as in (1).
ADDITIONAL EXAMPLE
An example of the 'could have + past participle' construction being used in a possible future event similar to (2') is found in this Harry Potter:
Malfoy could have attacked half the Muggle-borns in the school by then!
EDIT
I'll have to admit that it was not easy to find an example of the 'could have + past participle' construction being used in a possible future event. So maybe it's not that idiomatic to use the construction for a possible future event. Does that mean that (2') as well as the Harry Potter example is somehow unnatural?
The construction you're suggesting might be reasonable in certain contexts. The HP sentence would seem natural in the context of a discussion about a specific time in the future (the ides of March) or if Malfoy was being compared with someone else. Why wouldn't the simpler "Malfoy could kill..." be used? Because the perfect construction carries with it the idea of accumulation. Your sample sentence: "Mary could have arrived by midnight," doesn't sound natural to me (without a negative context), but "Mary could have walked ten miles by the morning," does sound natural, and it likely has to do with the idea of something accumulating.
In my opinion, adding by to a sentence would not increase the acceptability, and to me it seems to be used in a prepositional manner. Consider the difference between the two sentences:
Mary could have arrived by midnight.
Mary could have walked by the wharf.
Could and Have are being used, as I believe you mentioned, as linking verbs. Wikipedia has a nice write up on Conditional Perfects, and one example mostly stolen from there:
If we hadn't been stuck in traffic, we could have arrived by midnight.
In this, the by is not only helpful, it is required, but again, it is being used as a preposition.
I think Edwin Ashworth really nailed it, in that these phrases are rarely used because they are rarely needed.
I'm not sure if this was helpful or not, but I certainly learned some things, so thanks for the opportunity.
Adding "by" significantly modifies the meaning of the sentence. To "arrive tomorrow" is not the same as to "arrive by tomorrow". In order to arrive tomorrow, one would have to arrive no earlier and no later than tomorrow. But in order to arrive by tomorrow, one would only have to arrive no later than tomorrow and could, in fact, arrive today or even last week.
While it happens to be a valid sentence, it does not reflect the same meaning as the original example ("Mary could have arrived tomorrow, had she managed to get that flight."), so it should not be considered a way to fix the phrase "Mary could have arrived tomorrow."