"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)