As far as a bat can communicate with another bat, yes.
The spell states:
Appearing in an unoccupied space within range, the familiar has the statistics of the chosen form, though it is a celestial, fey, or fiend (your choice) instead of a beast.
That would imply that the familiar looks and acts like the chosen animal, but is not a beast when it comes to spells and skill checks. After that it's up to the DM to decide if a regular bat of 2 Intelligence can comprehend concepts of time and people well enough to tell you whether they've seen anything interesting. I doubt a bat can tell another bat that they've seen a group of people come through there yesterday.
That would still mean that "Speak with Animals" is better because it's a magical way to comprehend and communicate with animals and at the very minimum it will enable them to tell you about nearby locations, monsters and recent events they've witnessed. It seems to me that "Speak with Animals" enables the beast to communicate something it's retained far better than it could even to a member of it's own species.
To sum up the mechanics of counterspell:
If a creature with counterspell available can perceive any spell within range being cast, they can attempt to counter it. They don't need to know what spell it is, or even have it on their class list to make the counter. Based on this, and what I gather from your context, the short answer is: yes the NPC could have cast counterspell.
Let's tackle the issues one at a time with this knowledge:
Issue 1:
The NPC doesn't have to know that a silence spell is being cast. All they need to know is that a spell is being cast at all. Counterspell counters any spell after all. How would they know that a spell is being cast? Because silence has verbal and somatic components. So, as long as the NPC can see or hear the caster casting something, the NPC has the option to counterspell it.
Issue 2:
Yes. It's been established in the Sage Advice Compendium that (emphasis mine):
If a spell that’s altered by Subtle Spell has no material component, then it’s impossible for anyone to perceive the spell being cast. So, since you can’t see the casting, counterspell is of no use.
So, if the NPC can't perceive the spell being cast, then they can't counterspell it. In most circumstances (casting during combat or from a different room) it's up to the DM to determine if the NPC can perceive the casting. But if the DM rules (or is convinced) that the NPC can't perceive the casting, then the NPC can't counterspell. In this case, I assume that the NPC could see you casting, and you were within range, so counterspell would have been a legal reaction.
Issue 3:
It could, though it doesn't have to. There are some optional rules that allow creatures to identify a spell as it's being cast, but those are... well... optional. Unfortunately, the DM just has to make a call on what this particular NPC would do, and stick to it. There is no rule pulling the decision one way or another. It's reasonable for the DM to rule that the NPC would take the risk and not counterspell whatever you decide to cast. But, it's just as reasonable for them to rule that the NPC would assume that any spell you cast is a threat that can't be allowed to pass, and so would counterspell it regardless of what it turned out to be.
Issue 4:
Technically, a creature doesn't automatically know anything about the effect of whatever spell a different creature is in the process of casting. But the rules are, again, silent on this matter beyond that. So, if the group decided that minimizing metagaming is something that they want to strive for, neither they, nor the DM should know what spell is cast before deciding to counterspell. But that is a conversation that you all will need to have as a group. Some groups are more lenient where everyone knows what spells are being flung around. And still others let the players know what the enemies cast, but not the other way around. You all have to decide for yourselves what would be the most fun.
Best Answer
Xanathar's text is just a ruling guideline, not a core rule
So, the work around is just house-rule different than the optional rule provided in XGtE.
Let us make this clear:
Check this Q&A to understand what in XGtE are actual rules and what are just ruling guidelines.
And being honest, I believe this is a bad ruling guideline. Using your entire reaction to simply identify a spell seems... too much. "Oh hey I will use my reaction to see what spell they are casting" - "Oh, a Fireball". Fire explodes. Yeah, that was obvious...
Except for identifying long-lasting effects, that's pretty much useless.
Crawford, the lead developer for 5e, has made a tweet stating his own ruling here1:
I use this along the Arcana check described in XGtE.
The ruling is basically: if you know the spell or have it prepared, you automatically succeed on knowing that the spell is being cast (although note: you don't know what level the spell is being cast as, so that may still trick your counter spell). If you can learn or prepare that spell (i.e., it is in your class list), you can try the check (without spending a reaction). If it's on your class list, but you can not learn it (i.e., it's a higher level than you have spell slots for), I simply tell them the spell is too advanced for them to understand (so at least they know the spell is going to hit hard haha).
A few reasons I do it:
Honestly, I have even simply stated - sometimes unintentionally - "The Night Hag is casting Lightning Bolt", i.e., spelling out what is the spell to the players. So far, I didn't really have a problem with this ruling.
If you are not the DM, ask the DM to allow you to do that.
1 This tweet was pre-XGtE, but the point is that there are other ways to rule how identifying a spell works other than the one that was ultimately published as optional rule.
2 The example is obviously a joke, before anyone tells me "why is the NPC casting create water mid-combat?" or anything like that.