So does P2Pool take the wallet address from guiminer username field.
The address that you use as your miner username takes the highest priority, yeah. You can also specify a payout address with the -a flag when running p2pool. That address would be used if you specify a different miner username (such as "user") or if you have a fee set up on your node.