Those are all correct.
"Two dollars a pair" is fine. You can add 'for', but it isn't necessary.
If a number is involved, you do need to include the 'for': "Two dollars for two pairs."
This beer costs three dollars a bottle.
This beer costs three dollars for two bottles.