When using read in bash, pressing backspace does not delete the last character entered, but appears to append a backspace to the input buffer. Is there any way I can change
The option -n nchars turns the terminal into raw mode, so your best chance is to rely on readline (-e) [docs]:
-n nchars
readline
$ read -n10 -e VAR
BTW, nice idea, although I would leave the end of the word to the user (it's a knee-jerk reaction to press return).