Yes it is possible and as @kianenigma mentioned, Substrate has the export-state command to do it.
To export the chain state from a specific block number:
./target/release/parachain-template-node export-state --chain=raw-parachain-chainspec.json --base-path /tmp/parachain/alice 20 > chain-exported-20.json
In case you are running a parachain and want generate the genesis state and the WebAssembly runtime:
Generate the chain genesis state, indicating the chain file created above.
./target/release/parachain-template-node export-genesis-state --chain=chain-exported-20.json > chain-exported-genesis-state-20
Export the WebAssembly runtime for the chain, indicating the chain file created above.
./target/release/parachain-template-node export-genesis-wasm --chain=chain-exported-20.json > chain-exported-genesis-wasm-20
Now you can restart the chain specifying the new chain in the command line:
--chain chain-exported-20.json \