I'd like to make sure the use of the expression in the title.
Does it make sense if I say, "John Lennon has been and will be my hero for the rest of my life"?
"John Lennon has been and will be my hero for the rest of my life"?
Yes, it makes sense grammatically, but the sentence doesn't work as a whole. If you remove the words 'and will be' the remaining sentence doesn't make sense as 'has been' indicates in the past, whereas 'for the rest of my life suggests the future.
I would rephrase thus:
"John Lennon has been and always will be my hero.
Then you don't need to mention the rest of your life
Uncle M (not a teacher)