It is possible !!! RHEL includes balloon driver ( from 5.5 onwards) for kvm guests. The virtio_balloon driver is loaded automatically with RHEL kernels.
If a user attempts to balloon a KVM guest the balloon command ( #virsh setmem) will successfully allow a user to change the memory assignment of the guest.
# virsh setmem guest-name new-memory-in-KB
Below URLs give more information on memory ballooning driver.
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html-single/5.5_Technical_Notes/index.html
Additional info on balloon driver can be found at #https://humblec.com/memory-ballooning-and-virtio_balloon-driver-in-qemu-kvm/
Note that the memory allocated this way cannot exceed “Maximum allocation” for the guest. This need to be defined in the guest configuration file before starting the guest usingxxxxxtag or via “virt-manager”.