I'd tried to subtly point this out so they could come a little later but it didn't get picked up on.
Use actual words, OP. Say it, don't infer. If you infer and people don't pick up on it, you can't be cross. So they say "we'll come at 3" don't say "OH is on nights" say "no, come later he will still be asleep"
I don't blame your parents from running past your dog, it sounds hugely annoying. And agree with others, your house does smell of dog, you are just used to it. Maybe the words used were unkind, but maybe you weren't meant to hear them. It is ok to be truthful with your spouse.
If you know you are sensitive then you have to work round it. Build up resilience, but also don't get into positions where you're going to be upset by relatively normal things. Meet your parents away from your home, lock your dog away before you open the door to them, tell them that they can't come when it's not convenient to you, that kind of thing.
If you have PTSD, are you having treatment for it?