I feel like "for 7pm" is possibly colloquial and perhaps not quite Standard English, but I have heard it a lot. I can't think if there's any difference in meaning between "I'll be there for 7" and "I'll be there at 7". Is there?
Also, where did this form come from? Is it dialectal or colloquial?
I couldn't find a related question on SE or Google, this question is about the difference between "at" and "by".