sorry, need to clarify:
P2pool set its difficulty for miners normally itself.
(it has vardiff)
however as a miner you can set a static diff for your miner if you feel it has a better impact.
stratum works on p2pool with bfgminer (tested) - i think also sgminer will work flawless.
it is the stratum protocoll from some miners that do not work right with p2pool, in that cases ( you will see it in your miner)
just use http port, you can not compare p2pool with a standard pool, also in our ( very fast - compared to standard p2pools) version
at least 6 hours of your shares are counted in, so yes you can use longpoll also on p2pool (http port).
Technical:
The share diff we use on p2pool is used to build a "Mini"chain that has absolute nothing to do with the coins chain.
it is used to calculate your miners part of the pizza. p2pool also has a kind of fake shares, that will show up in your miner just like normal shares.
Those are generally very low diff, and are used to see a. that a miner is alive, b. to calculate hashing speed.
when a miner sends a share that is heigh enough to get a block, the pool generates the coins directly in the miners wallets ,
calculated as part of the complete block. (from the "mini-P2pool"chain) -
for who brought Flappycoin to p2pool : flappycoin was added by hanzou on p2pool standard. << so the reward should go to him.
i personally did some changes to the sharechain of p2pool´s minichain and the reward length -
as it was set to 24 hours, which is way too much. i Also switched p2pool for p2pool network, and testing merged mining by ow.
reward length = 3 hours now - the current version which connects to the network can be downloaded at blockcrawlers page.
a bit of technical know how is needed to run your own p2pool node.