Sì è possibile, ma è fortemente sconsigliato.
- i cookies non sono nati per la persistenza di dati
- hanno un limite di 4Kb che con un DataSet raggiungeresti molto presto
- fondamentalmente è un errore portare dati applicativi (da non mostrare) sul client
E' vero che possibile con il ViewState, ma anche lì non sarebbe molto corretto persistere il DataSet e può portare a problemi sempre nel caso di dati superiori ai 4Kb.
Il modo più corretto è gestire in Session o, se non puoi, gestire out-of-proc sempre con Session configurata appositamente o con un tuo meccanismo (ad esempio persisti su file system o su db)