Do all private keys that are resolved to the same address give access to the bitcoins on this address? The algorithm to get the public key and the address from a private key consists of a few steps.

Which of the intermediate keys is used to sign transactions with? 

Ultimately, there can exist two different private keys that resolve to the same address or public key. Can both be used for signing transactions spending outputs assigned to that address?
Yes. And it's pretty easy to understand why, without even mentioning anything about the underlying technologies.

A bitcoin: URL only contains the address of the recipient. The address does not need any previous transactions in the blockchain to resolve to a public key, so we can deduct that a bitcoin URL has the full public key.

When you spend bitcoins from an address, all that is publicly known is the public key for that address. And since we just established that the address is basically the public key, we can conclude that any private key that resolves to a certain public key will have access to that address.



In other words: when you send BTC to an address, all the client knows is the address where it's going, which means that it cannot store anything else about the recipient (since it doesn't know anything else). Since only the address is stored, any private key that resolves to that address will have access to the bitcoins.



It should be pointed out that not all transactions are sent directly to an address, and there are exceptions to my logic here. But for 99% of all transactions the above applies