Will we ever need smaller amounts of Bitcoin than a Satoshi? Will there ever be a need to create a unit of Bitcoin smaller than a Satoshi?

See also: What is a 'Satoshi'?
TL;DR: If transaction volume explodes, Bitcoin is adopted for micro-payments, and the value of bitcoins increases sufficiently, we will need greater divisibility.

First of all, since there are 100,000,000 satoshi to a bitcoin, obviously one satoshi would be worth $0.01 if one bitcoin were valued at $1 million.

Beside the questionable math in tysat's answer, his answer is based on the assumption that there are no use-cases for payments smaller than a cent.

I don't believe that it is a valid assumption to make:
Next to there being other currencies with subunits of smaller value than $0.01, when one satoshi is worth $0.01, that would also be the smallest possible transaction fee one could attach! This would be prohibitively expensive for any micro-payment based business scheme, such as for example Bitcoin based content paywalls, direct internet traffic payments to ISPs, or other automated micro-payment driven schemes: Paying five cents to read an article, you'd have to add a 20% fee.

Now, such services could possibly move off-chain where further precision could be added, yet that would require users to have accounts for each of those services, and to tie up their resources unnecessarily, while reintroducing counter-party risk; essentially reverting a lot of the key selling points of Bitcoin! 

Assuming that the Bitcoin protocol will develop to scale even beyond the transaction capacity of today's credit card systems as recently suggested by Gavin Andresen, it seems plausible that business ideas will appear to challenge even such transaction capacity. As those would though be prohibited by a minimal transaction fee of $0.01, we could see a push towards even smaller fees. 

Should the above lead to a scenario where somebody finds uses for payments with a value of a tenth of a cent ($0.001), and transaction fees for that should be less than 10% of the payment's value, we'd need smaller subunits if one bitcoin becomes more valuable than $10,000. Since we already have breached $1,000 once, that doesn't sound impossible.



Update 2017-03-23: AFAIU, adding further divisibility to Bitcoin would require a hard fork, and therefore is not something that will simply manifest. If necessary, it would require a massive overhaul of all software currently used in the Bitcoin ecosphere. On the other hand, Lightning actually already implemented support for probabilistic sub-satoshi payments.

Update 2018-05-17: Lightning uses millisatoshi to account for channel balances, adding another three magnitudes of precision. Payouts on the blockchain are rounded as the precision there is only to the satoshi.