you may be able to accomplish this with 'dd'.
myfile.tar == 688MB
to break it, first part 400MB, second part remaining (288MB)
dd if=myfile.tar of=myfile.tar.dd.1 bs=4096 count=102400
dd if=myfile.tar of=myfile.tar.dd.2 bs=4096 skip=102400
then to construct the single .tar again
dd if=myfile.tar.dd.2 of=myfile.tar.dd.1 bs=4096 seek=102400
mv myfile.tar.dd.1 myfile-from-dd.tar
it'd be a good idea to have a SUM for the original (md5sum, sha1sum, ...) to make sure it matches after you put the parts back together.
in my example (and test) it did
sha1sum myfile.tar myfile-from-dd.tar
and the files extracted successfully with 'tar xvf myfile-from-dd.tar' and their sums matched as well (as expected since the tar files were identical but just an extra level of checking
you can look at the man page for more options and see what is happening but i think it may be do-able like this. You'll just want to take care not to lose or forget the values you used or it could get ugly...
also, for bs= i used the filesystem block-size as reported by dumpe2fs for the partition i was working with the files on; not sure if it will actually matter or not but was used for consistency.
hope this helps.