Some FTers have had success asking customer relations to check with inventory control. Sometimes they'll release seats when asked.
How, though, do you know that there are 40+ seats available in C? Are you looking at the seatmap? If so, you only know that's how many seats are unassigned -- which doesn't really tell you how many tickets are (un)sold. Ticketed pax may not have seat assignments.
In any case, with that may unassigned seats, you're likely to have the upgrade clear. A call or two to try to "force" it may be helpful, though.
Do you have status with UA?
(On the one hand, the request will be treated better if the answer is yes. On the other hand, if the answer is no, your success on the day of departure will be much much tougher.)