I don't know how windows will handle this
but in Linux is very, very simple
just [c]fdisk /dev/sda and partition it as you wish
then, when you want to mount it, just mount /dev/sda1 instead of /dev/sda, it will do just fine
if you're planning add a non-FAT partition, you can think about creating a filesystem inside a file on the normal SD storage space, just mount /mnt/sd/filesystem.img /mnt/ext/ -o loop (I don't know if gp2x's kernel accept loop option, but it probably will)