Data storage is nothing new, it's actually a function in BTC. The plan with DGC is to use it as a timestamping service, so basically only storing a hash within the chain to prove a certain document existed at that point in time (there's a whole business around this), we're still debating how to go about this, if you have any ideas feel free to chime in on IRC.
I'm not sure what the privkey/wallet import is but we've been wanting a simple GUI button to import wallets for a while, instead of typing --importprivkey in the console. I'm not sure though.
I don't really know what you mean by upstream, but we're trying to keep hard forks at a minimum.
Thanks. By upstream, I mean the code DGC was forked from.