I've never used the multiplayer stuff before, but as for your first question:
I take it your game works on the player(s) touching their player character to move it. If this is the case, the way to make it work for four people is pretty simple.
For local multiplayer with multi-touch, you need:
- A system to differentiate between several touches (keeping track of them)
- A way to keep this tied with each player
I always like to think that if you do everything with correct programming logic, and make any situation possible, most of these sort of difficult-looking things automatically happen. That is, if your game already differentiates between touches, you've got your game. Since the game can't differentiate between players (same device, and the device doesn't know who touched the screen) the only issue is keeping track of the touches and which character they belong to.
In a bit more detail, you need the dragging and dropping part of the program to recognize the difference between touches.
In pseudo code:
on touch | store touch index in the object
for each touch | do drag and drop events
on release, find the object with the touch index that was released | reset the variable (e.g. to -1)
Hope that helps. I don't have much experience with the touch behavior, but it should work.