"Does each computer on the internet have a unique IP address?" Yes. Computers on private networks behind routers may have duplicate addresses, however.
"If this is so, what would keep a person from assigning an already used IP address to their PC?" As a genreal rule, your ISP assigns you as many static IPs as you need, they assign them from a pool they have. If you were granted a pool of addresses directly (I have 5 Class C subnets from around 1992 I received) you would use addresses from your pool. again if you are behind a router, off the internet, you would typcially use a IP range reserved for private networks (192.168.x.x, 10.x.x.x)
"What would happen if someone did this? If I tried to ping this duplicate address, which one would I reach?" The one your routers knew about, whichever that was. potentially that may be either one or neither. On my private network, some wonderfully helpful user named his PC the same as the router in his building, just to see what happened. We tracked him down by MAC address and he has no PC now.
I tried to remain child-like, all I acheived was childish.