Well for a start if you have 90 active members then that isn't a small guild. My guild is small we have about 12 active members and raid 10man icc.
With 90 members but only 2 10man raid groups what do the other 70 members do? It sounds like you have a guild membership with mixed prioritys. One solution to this is to do as suggested, and kick all non-raiders. The alternative is to have 2 seperate ranks, raider and non-raider and actively set out the terms for being a raider.
One of my first terms would be "only raid with the guild". If you're actively trying to run 25man raids but guild members are pugging instead you need to stop this.
If peope are eager to raid 25s on Tuesdays set your 25man for teusday and run it with whoever shows, even if this means pugging the remainder of the raid.
Regarding your 2nd 10man raid group, i really don't understand how you can't replace the 3 people who left from within your own guild.