How would that be different from connecting as 1abcsomething, saying "I'm mining at difficulty 1" and then submitting the diff=650 and diff=1000 shares? Doesn't p2pool take the actual share difficulty into account when calculating payouts?
Lets assume a diff=650 is worth something like ~0.002 BTC
Person A has default settings (diff~650) and starts hashing.
Person A finds 10 shares with diff > 650 (eg. 9x ~650 and one share ~13000) in 24h
There is one block found just now.
Person A get a payout of 0.02 BTC.
Person B sets diffuculty to 6500 and has same hasrate as person A
Person B found 1 shares > 6500 (eg. ~13000 ) in 24h
Person B gets a payout of ~0.02BTC
Person C is cheating and starts hashing.
Person C finds a share with difficulty 13000.
Person C connects and sets difficulty to 13000 and submits share.
Person C starts hashing with a new address.
Person C finds a share with difficulty 650.
Person C connects and sets difficulty to 650 and submits share.
Person C starts hashing with a new address.
Person C finds 8 more diff 650 shares in the same way.
Person C gets payed out to 10 different addresses 9x ~0.002 BTC and 1x ~0.04 BTC.
Only solution that comes to my mind is, that a user (identified by address) needs a history of maybe 12h before he can change his difficulty.