Yes, but you’d still have to consider that if the device in question belongs to a user you want to deny Internet access to, they could get around this by simply disabling DHCP on the client and changing the IP address manually, or by changing/spoofing the MAC address. To prevent this, the client would need to be moved to a separate network segment.
One way is to block all IP addresses except those you specifically want to allow access on the Internet. Even if your target changes the MAC address the DHCP server will hand out an IP address with no Internet connectivity.
Unless they change it to the MAC address of a device that already has Internet access there’s no way to bypass this.
I am much more familiar with OPNsense than pfSense, but I believe the steps are quite similar:
Go to Firewall - Aliases, create an alias of the type Hosts or IP Addresses. Add all the IP addresses you want to give Internet access to. Save the alias.
Go to Firewall - Rules and select the LAN interface. Create a new rule at the top with the action PASS, IPv4 + IPv6, protocol Any, source Single host or Alias and pick the alias you defined at step 1, destination Any. Save this rule.
Add another rule immediately below this one, action BLOCK, IPv4 + IPv6, protocol Any, source LAN net, destination Any. Save the rule.
Double check the ALLOW rule comes first, and immediately after is the BLOCK rule. Apply the ruleset.
Caveat: if you have other networks, such as DMZ, perhaps some VLAN networks, that everyone should have access to, make sure the allow rules for any of these come before the BLOCK rule you’ve created in step 3.