In cases there two blocks happen to be mined simultaneously there's a brief period of uncertainty regarding which transactions were committed and who earned the mining reward. But as blocks are generated on both branches at random intervals, eventually one will become longer and snowball from there. The key is that the average time between blocks is about 10 minutes, muck longer than the communication delay between miners.
As to #2: first of all, the Bitcoin protocol knows nothing about exchange rates. And secondly, in a market-based exchange, you can't just "tie" a price to anything. You could set up a fixed-price exchange, but if the market price was different from the one you picked, either buyers or sellers would look elsewhere to get a better deal. (That is, unless you provided some additional benefit over the existing exchanges that was considered valuable enough to make up for the price difference.)