That's difficult to answer with any precision, because your initial queries are flawed. Using TOP in SQL without specifying an explicit ORDER BY is a recipe for horrible problems, because SQL does not have to return rows in any particular order unless ORDER BY is specified. The actual row returned can be any row at all, and can change from query to query with no obviously related change in the data if SQL has moved data around internally (which it is at liberty to do).
So the first thing you need to do is decide exactly what value you are trying to access, and modify your existing queries to explicitly return that.
Then you can do something like
SELECT MAX(Total_Seats) - MAX(Avil_seats) FROM batch_seats WHERE cbm_batch_id ='B5176 '
But the first thing you need to do is sort out what data you are trying to use!