Not sure where you get the impression that these files are "a pre-decided fixed size." I run slax off of a usb stick, and the "change file" is actually a directory on the usb stick which increases (or decreases) according to the changes.
In the case of a live-cd, you would indicate what directory on your hard drive (or whatever device) the changes would be saved to, and as long as there is room in that particular directory, you're fine.
From linux-live.org (by the same dude responsible for slax) :
Interesting features of Linux Live scripts
Use 'changes=...' boot parameter to specify persistent changes directory or file. If a directory is used, eg. changes=/some_dir/ and the /some_dir/ is found on some partition on your disk, then all the changes made to the root filesystem will be saved to that directory. This works even if /some_dir/ is on NTFS or VFAT, thanks to posixovl overlay (an userspace filesystem, already included). Important note: if you plan to save changes on VFAT, make sure to modify your distribution's shutdown scripts. It must not execute killall, else posixovl is killed and everything is wrong. Instead, call the cleanup script from /mnt/live/cleanup. If a file is specified for the changes boot parameter, eg. changes=/path/file.dat, and the file has a valid filesystem inside, then the file will be loop-mounted and changes written to it. You may also use changes=/dev/sda1/path/ and changes=/dev/sda1/path/file.dat ... to specify particular device where to look for. Other devices will be skipped (will not be even mounted).