@pic.programmer - multi-master SPI was NOT what the OP was asking about. Mentioning this just confuses the issue.
@aandaman - SPI is an exchange protocol and the master is in complete control of when the exchanges occur. Typically you load up a value into the slave device and it then waits until the master initiates the exchange.
As has been mentioned above, you can use a polling method where the slave has some 'no data available' value that it loads into the SPI buffer and the master then repeatedly initiates an exchange and throws away this value when it sees it. When the slave has a valid vale, it stores that instead and the master then picks this up on the next 'poll' exchange.
Alternatively you can connect another wire from the slave to the master and the slave then signals on that when it has valid data.
Susan