1.Since I want to make it available via browser also at some point, is "WPF-Browser Application" a good choice?
No, use Silverlight instead.
2.What approach I can follow to maintain the connectivity between players? Peer to peer or do I need to maintain a server in between all players?
Peer to peer requires knowning the IP address for all the players. You may also have to deal with firewall issues.
Central servers can require beefy boxes. But you need something to at least share IP addresses and for players to find each other.
3.How can I transfer the information across all instances and maintain data state?
For basic games, one user is considered to be the "server". His copy of the data is considered to be "canon" and all other clients defer to what's on his machine.
For advanced games I suspect they try harder to keep everything in sync, as it would such if the game ended for everyone because one user was dropped.