For the next two weeks I need to travel from Bicester to Birmingham, however as I'm working night shifts I'll need to be in Birmingham for 10 P.M and I'll be leaving at around 7 A.M. I've looked at fares and a return is around £25, any way to get it cheaper?
How many shifts are you doing within each 7 day period? If you are doing enough each week (and you don't have, and aren't eligible for, any Railcard), two weekly season tickets are worthwhile. You may wish to consider splitting tickets at Hatton - getting both a Bicester North to Hatton and a Hatton to West Midlands All Zones season, which saves you £4.30 a week over the through ticket. No need for your trains o stop at Hatton, but you can't go via Kenilworth as a diversionary route in case of disruption (as you would on a through ticket).
If you're eligible for a Railcard and/or you're doing less than 4 or 5 shifts a week, you'll want to get Day Returns - i.e. a single to get to the first night shift, then a Day Return (issued from Brum to Bicester) with the outward portion to get you home, and the return portion to get you back to work the same evening.
NB here splitting is also slightly cheaper, if you split at Banbury, albeit the cheaper Anytime Day Return from Banbury is route Chiltern only, so no immediate alternative routes/TOCs if your train is cancelled.
Alternatively, if you can bear waiting for the 08:25 departure off Moor Street, you could use an Off-Peak (Day) Return. Your journey into Moor Street in the evening is obviously valid with an Off-Peak ticket, whilst the 08:25 is the first valid southbound service in the morning.
If you book far enough in advance you might be able to get some Advance tickets, but TBH I think you're going to struggle to get anything attractively priced no matter how far in advance you book, when it comes to late evening ex-London services (which are typically busy until Leamington at least), and the first Off-Peak service to London!