No, you can add "for" if you want to. It's not obligatory.
Hi,
Would it be always wrong to use 'for' before 'a long time' as in the following sentence?
'We've been married a long time!'
No, you can add "for" if you want to. It's not obligatory.
Remember - correct capitalisation, punctuation and spacing make posts much easier to read.
Is this arbitrariness just for 'a long time'? How about other phrases indicating time used in a present perfect tense?
We can omit 'for' before most time expressions. The omission is rather informal.
I have lived here (for) ten years.
Context is important. Please provide enough for us to be able to deal effectively with your question.
Your thread title should include all or part of the word/phrase being discussed.
If you just want to know the meaning of a word, try OneLook Dictionary Search first.