Can I prevent my (jailbroken) iPhone from retrieving mail between certain hours?
It does not look like there is that level of configuration granularity on iOS for the iPhone out of the box (non-jailbroken).

One of the common jailbroken apps; 'SBSettings' also don't seem to have a specific setting option for scheduling push times...

One option might be, if you don't want to be disturbed at all is to switch to "Airplane Mode" before you go to sleep. But note this will prevent receiving calls and text messages also.

Or simply turn off "fetch data" (or set it to "manually") before you go to sleep.

Steps:

Settings > Mail, Contacts, Calendars > Fetch New Data > Push = Off | Fetch = "Manually"