1. a) yes
b) no
In British English we can say 'in hospital', but not 'at hospital'. In British English you can say either:
1 a) I am visiting a friend at the hospital.
If you say this, it probably means that there is only one hospital in your town or neighbourhood, and that the listener knows that you are talking about this one specific hospital.
1 b) I am visiting a friend in hospital.
If you say this we don't know which hospital your friend is in. It could be any hospital.
2a) I go to the barn and collect the eggs.
b) I go to the barn and collect eggs.
Both of these are correct, but - again - the meaning is slightly different. As @Certainly says, if you say 'the eggs' , the listener knows which eggs you are talking about.
In both cases, the use of 'the' makes the noun specific, and it is understood that the listener knows which hospital or which eggs you are referring to.