Yes, it can be done.
Proof of concept:
Let me get a file to test with:
cp /bin/sh mylargefile
ls -l
-rw-r--r-- 1 hennes users 137208 Jul 1 20:05 my_large_file
Lets chop it into 3 pieces, first piece will be 50k, second will be 50k, third will be 37k. We start at the end with the third part.
dd if=my_large_file of=part3 bs=1k skip=100
33+1 records in
33+1 records out
34808 bytes transferred in 0.000232 secs (150046592 bytes/sec)
~/test$ ls -l
total 180
-rw-r--r-- 1 hennes users 137208 Jul 1 20:05 my_large_file
-rw-r--r-- 1 hennes users 34808 Jul 1 20:09 part3
Ok, so we can copy part of the file. Now lets truncate the original large file to 100000 bytes
truncate -s 100000 my_large_file
[hennes@dragon] ~/test$ ls -l
total 144
-rw-r--r-- 1 hennes users 100000 Jul 1 20:17 my_large_file
-rw-r--r-- 1 hennes users 34808 Jul 1 20:09 part3
Compress with your favourite program. E.g.
bzip2 -9 part3
[hennes@dragon] ~/test$ ls -l part3.bz2
-rw-r--r-- 1 hennes users 11773 Jul 1 20:09 part3.bz2
Rinse and repeat:
dd if=my_large_file of=part2 bs=1k skip=50
47+1 records in
47+1 records out
48800 bytes transferred in 0.024526 secs (1989735 bytes/sec)
New dd with different numbers. New truccate with different numbers. ...
If you do this without uttermost care you are likely to mess up!
Above examples are already a mix of KB and KiB's. Take extreem care with your numbers.
Also, take a backup. Which means you already have twice the space so this should not be nessecary. Use only if you need to demo something (e.g. as homework or as a proof of concept during a job interview) and at your own risk.