(a) My little sister acts as a messenger between my parents when they have had a fight.
(b) My little sister acts as messenger between my parents when they have had a fight.
Is it necessary to omit 'a' in sentence (a)?
According to Macmillan English Dictionary, to 'act as' is to have a particular effect: The drugs act as a brake on the spread of the disease.
to 'act as' is to do the job of a particular kind of person: Will you act as interpreter?
Unless there is someone else who is also acting as a messenger, then omit the a.
Your tenses are bit off. She acts ... when they have a fight. It seems to me that if they are still not speaking and therefore require a messenger, they fight is not over, and the past perfect isn't appropriate.
(I hope this is not a true statement and that it's simply a grammar exercise.)