What are my options in terms of dividend distribution?

There’s no feature that would allow you to see the status on a given date, so assuming the asset is not widely traded (i.e. not too many transactions), you could look at the current holders and deduct past buys (and add past sells) by looking at the list of transactions (e.g. for one asset you can see them here: http://blockscan.com/creditdebit?asset=BITCRYSTALS).
For any “sell” actions by addresses that do not hold the token any more, you’d add those addresses to the current list of asset holders. (Notice that the Asset Holders tab (http://blockscan.com/assetInfo/BITCRYSTALS) lets you export a list of all asset holders).

If there’s too much work to be done manually, you could ask someone to write a script to automate that, either using the Counterparty API or a block explorer (coindaddy’s or Blockscan) API or even counterparty-client (CLI).

Edit: a direct query to Sqlite DB could be used to get the status at particular block height: