Why is chicken considered meat but fish is not? Also, why is an egg considered pareve? And if we can eat chicken eggs, why can't we eat caviar (fish eggs)?
Chulin 8 / Yoreh Deah 87:3 - Rabbi Akiva holds that the prohibition of eating chicken with milk is Rabinnic (M'Drabanan) - the reason is to avoid confusion as people consider chicken meat. Fish would not be confused as it does not require slaughtering, however chicken does require slaughtering.
Once eggs are laid they are completely developed; and they are not considered part of the chicken meat. A complete egg is in fact considered an entity by itself and is not considered meat that can be confused with animal meat. Therefore the Rabbinic prohibition would not apply here and it would be permissible to eat the egg with dairy products.
An egg that is in the chicken when slaughtered is meat. It must be soaked and salted like the rest of the chicken. It must be opened and checked for blood spots before being consumed. It may not be eaten raw, even though eggs that are laid normally may be consumed without cooking.