I'll answer your last questions first. In your examples it can be replaced everywhere with Wochenende and endlich is a perfect and natural fit to emphasise that you were looking forward to it.
However Feierabend is an unspecified time and just means "done with work for the day".
If for example you never work on sundays, saying "Ich hab Feierabend" on a sunday would sound odd and imply that you did some work prior to that. If you don't do any work on a day, you'd say "Ich habe frei".
I'll now give you an example situation for each sentence:
Example 1
You go to a restaurant but the worker might say
Wir haben schon Feierabend
using the we to refer to the company/restaurant they work for.
Example 2
You and a colleague want to go out for a beer after work. You go to pick them up from their workplace but they're still working. You could say
Hey, wir haben Feierabend, du kannst nächste Woche weitermachen
Hey, we're done working for today, you can continue next week
Here the we addresses both them and yourself.
Example 3
You're driving on the road and there are a lot of cars. You might be wondering
Es ist noch gar nicht Feierabend, warum sind hier so viele Autos? It's not the general time where people get off work (rush hour) yet, so why are there so many cars?
Example 4
You go to a store where a friend works and ask for them. You receive the response
Er/Sie hat schon Feierabend
So you won't be able to meet them at work today anymore.
To summarize, you'd typically use the corresponding pronoun to whatever person you're referring to.