The standard load routine will not handle this.
If you need to load under $D000-$DFFF you will have to handle it yourself; you can still use kernal routines (such as OPEN, CHKIN and CHRIN) to do it but will have to buffer and transfer or set the bank configuration for each byte stored.
Loading under BASIC ($A000-$BFFF), $C000-$CFFF or KERNAL space ($E000-$FFFF) is no problem with the standard loader, except if it crosses the I/O space on the way (so separate files that go into these areas can be loaded).
When putting together a C64 production, you'd typically use a packer/cruncher (such as Exomizer) to compress data - a feature of these tools is typically also to handle transfer under I/O space during decompression.