The Fireball spell does 1d6 die of damage per overall caster level starting at 5d6 at fifth level up to 10d6 at the caster's tenth level.
She should roll 10d6 for her fireball damage.
The caster level for a spell is determined by the player's overall caster level.
A caster level is a character level taken in a character class that gains caster levels at a level and rate defined in their class description. See the rules on pg 171 of the PHB under the header CASTER LEVEL, and under each class that can cast spells.
For a straight up Wizard, Fireball Dmg starts out at 5d6 when you get the spell at a Wizard and Caster level of 5th, and, assuming you take your next level in Wizard, it goes to 6d6 because you gain another caster level with that Wizard level; 7d6 at 7th, etc. This continues all the way up to 10d6 at the 10th caster level where it caps out. Further caster levels gained will not increase the dice of fireball damage.
From the 3.5 PHB pg 231
A fireball spell [...] deals 1d6 points of fire damage per caster level (maximum 10d6) to every creature within the area.
Whenever the rules say "per (x) level" you can simply multiply by the number of relevant character levels of (x) to get the desired effect. In this case it states "per caster level" so you would count only character levels the PC took in the class that they are using to cast this spell (and any classes that specifically stack - see prestige classes in the DMG, pg 176 for starters) - and that is the number of d6 you then roll.
NOTE: This is for 3.5 rules. Things can be much different in other editions.
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
You cannot cast the spell because spells require a clear path to their target
The counterspell spell requires us to see the target as it states:
And we can do this but the more general rule on spells from the "Targets" section states:
However in this case we do not have a clear, unobstructed path to the target and so we cannot use counterspell in this way.
This is also supported in the following questions: "Is it legal to cast a spell with a range of Sight on someone you can see, but without a clear path?" and "How does line of effect work with spells targeted through the Sentinel Raven's sight, from the UA Raven Queen warlock patron?"
Familiars only help to extend the range for spells where the target is yourself and which require you to have line of sight such as misty step as gone over in this question: "Can a wizard use his familiar's senses to enlarge his “you can see” area?" or to extend the range of touch range spells as gone over in this question: "Does a touch-range spell cast using Find Familiar have to have line of sight from the caster?