You could use a DHCP server to assign IP addresses based on predefined MACs (or bootp if you like it best), and build an ACL on the 3500 to only allow the IPs that are assigned in bootp or DHCP to roam through your network.
If a MAC that is not on the list hooks up in a free active jack, it can't get an IP. If the bad guy knows your IP assignment policy and serves himself a valid IP of your subnet, then the ACL kicks in and filters out that IP (of course, you need to maintain the ACL to match the bootptab list of IP addresses).
If he gets an IP that is permitted and if that IP is not used when he does his dirty job (some users do have vacation, you know), then this scheme does not hold, unles you deny the IPs of users that are gone in vacation in the ACL.
If the IP is already in use by some active computer, then there will be a duplicate IP, which can be detected fairly easy, and the legitimate user's computer will not work - he will surely call you if he's not out for a smoke.