TL;DR Probably not.
You will have a different IP address on each network. Outgoing traffic will be determined by your routing table, and it is (theoretically at least) fairly easy to send half the packets out each connection, because the decision is under your control. However, you could run into reverse-path checking that thinks those are spoofed packets and drops them.
Incoming is a different story. Packets will come in one connection or the other depending on the IP address. You can use multiple addresses simultaneously, but your P2P software would have to do that explicitly, and incoming packets won't automatically split up optimally, instead whichever peers are given address A will use connection A, and peers given address B will use connection B to send you data. Estimating the bandwidth to each peer in order to set up the P2P link using the right address for optimal balancing is decidedly non-trivial.
And none of this is going to "just happen" in any OS, neither to the best of my knowledge does Windows XP SP3 provide the tools necessary to make it happen. On linux, with weighted multipath routing, you'd at least be able to load balance outgoing traffic. On Windows you'll need additional drivers which bypass the TCP/IP stack and kernel routing decision in order to get multipath routing, or you can have deterministic routing tables that use one connection for half the internet and the other connection for the other half (but half the addresses likely doesn't represent half the traffic). This is far from optimal. And the P2P app needs to be rewritten to use multiple sockets with explicitly bound IP addresses in order to split incoming traffic.