This sentence takes the particle で because で indicates the location of the eels (the hovercraft). で is used to mark a location instead of に because, in this case, 一杯｛いっぱい｝ is an adverb which is modifying the copula verb です. で means/translates to in when used with a verb, for example,
日本語で話す To talk in Japanese.
You can use が, if you wish, and say something like:
私のホバークラフトの中にたくさんウナギがたくさんいる There are many eels inside my hovercraft.
In this case, you can use が because たくさん (many) is an adjective modifying the noun (eels), as opposed to an adverb 一杯 (fully) modifying the auxiliary verb です.
With regards to the second part of your question, I can assure you the original sentence using が makes complete sense. It's just a minor grammatical mistake, people will still understand you. (Interestingly enough, you can also easily drop が or で in this sentence, and remove です and it will have the same meaning. You can do this because certain particles in casual speech (and sometimes even formal speech, see 時に vs. 時) can be removed without altering the meaning at all. The particles は、が、に、へ、を all can be removed in casual speech.)