Set timeout when falling asleep before network disconnects
Yes, you'll use an app like Caffeine and use it's timer or script a watcher to remove Caffeine's power assertion after the time you specify.

You can use the command line peset -g assertionslog to watch the progress of the machine into and away from sleep. You might even be able to use pmset to hard code the behavior you wish after reading the manual page a few times and experimenting with the debug logs it provides.