Yes, this can be done by editing /etc/ppp/chap-secrets file with the format to assign the user an IP address based on their credentials. You can then use firewall rules to limit what that IP address can access.
Alternatively you can achieve something similar is to create/modify a script /etc/ppp/ip-up and /etc/ppp/ip-down (or ip-up.local and ip-down.local) to do the firewalling when the connection is started and stopped. [ $1 = interface, $4=local IP, $5=remote IP ]
That said, using PPTP is a very bad idea as it offers very little security (ie the security is broken). You may want to look at using OpenVPN instead - orders of magnitude stronger (and you can also assign users into their own networks)