Dining cars are present on almost every long-distance train. They offer rather good food (although I have little experience to compare it to European trains), though I would not expect much delicacies, just a good food of a middle-range city restaurant. Specifically for Baikal fish, I doubt it, except probably when you travel near Baikal itself. In addition to restaurant cars you can also buy basic snacks from a conductor at your car, and sometimes a waiter from a restaurant car would go through the train offering snacks to passengers.
At the same time, as many have mentioned here, on every station where the train stops for at least 20 minutes1, there usually will be locals selling food to you right from the platform. The quality of that food varies a lot (with no medical control etc.), but it is indeed a chance to try a good local food. I have never traveled near Baikal, but I've been once in Karelia, and a great choice of cooked (smoked etc.) fish was available. However, I think this might depend on a season. Apart from these local specialties, locals will be selling mostly basic food appealing for low-class travelers trying to eat as cheap as possible. Sometimes these locals will even buy a ticket from one station to a neighbor one and walk through train offering their products, so you might even not need to walk out.
Also note that you can buy tickets with meals included, but this usually starts from 2nd class. On a short trip (1 night and shorter) this will be just several snacks and some drink, but on longer trains they can bring some basic hot food from the dining car directly to your compartment. When booking a ticket, look for label like "У2" in the carriage class field. "У" stands for "услуги" ("services" — meals, and also includes a few newspapers etc.), while the number stands for the number of meals included.
The boilers are available in every sleeping car, except for some exceptional circumstances such as boiler malfunctioning or running out of water. Not that these are unheard of, but rather rare, and most probable it will be OK to go to another carriage and use their boiler in such a case. The water quality might be not the best, and personally I dislike it and try to avoid, but many people do drink it. The biggest concern is not sanitary problems, but just some metallic smell etc. Also a bigger problem might be lack of cold (well, room-temperature) drinking water; you may find that boiling water is the only drinkable water you can get. It is a good idea to have a bottle or two of drinking water with you.
Also note that there are different train types in Russia. The best are so-called "firmenny" trains (фирменный поезд), or the "premium" ("премиум") introduced several years ago. They have all the facilities (from restaurant cars to 3rd class carriages and toilets) much better than other trains, but the tickets are also more expensive for the same class. At the other end, during high season (summer) you might see temporary trains assigned for just a couple of months. They are usually compiled of different old carriages and may have many different problems; I even am not quite sure whether they have a dining car at all. A rough rule of thumb is the less is the official designated number of train/route (you see it when you book the tickets), the better is the train: trains from 1 to approx. 150 are firmenny trains, while those temporary trains are usually assigned numbers at about 800 and above. Intermediate numbers and trains also exist.
1 Such stations are usually every several hours of train trip. And yes, even if the train comes to the station in dead night, some locals still probably will be there.