Barcelona is almost certain to lose the La Liga title this season when Real Madrid leads the standings with an 8-point advantage with 9 games remaining. Real Madrid is comfortable enough to maintain its performance until the end of the season, but if they drop a few points in the next few games then maybe Barcelona can get closer.
The matches against Bilbao and Mallorca are something that Real Madrid must win before El Clasico, so if both can be won then it doesn't matter if Real Madrid loses in El Clasico. However, it would certainly be dangerous for Real Madrid if they lost one of the matches against Bilbao and Mallorca, they would be in danger of losing points in El Clasico too.
It's true, Barcelona's hopes of becoming La Liga champions are no longer great. Because in my personal opinion, Barcelona will definitely have difficulty catching Real Madrid's points at this time. The reason is that currently Real Madrid has a very good performance and is difficult for the teams in La Liga to beat.
You are very correct, we have to give it to Real Madrid this season, they worked so hard and deserve the trophy. Barcelona catching up with Real Madrid now means the later losing three matches while the former continue to win all their matches. Now the question is, can Madrid lose 3 out of their remaining 9 matches? The answer is an easy no even though anything is possible in football. On the other hand, will Barcelona be able to win all their remaining 9 matches? This is what I think is difficult because their performance this season is seriously below expectations.