My understanding is that the sha256 hash of "some data" cannot be used to calculate the SHA256 hash of "some data_some more data"
It depends on the format of your data. If you have single sha256, then your message is splitted into 512-bit chunks, so if you have some 64-byte password (or if your whole password is located somewhere in the first 64-byte block), then you can compute IV for your last block and do single block hashing, in this way you can extend unknown message of arbitrary length if you can compute correct IV for that. So:
SHA-256(IV,first_block)=second_IV
SHA-256(second_IV,second_block)=final_hash
If you can somehow make your first_block a constant value (for example because of constant password prefix), then you can easily compute second_IV, and then update only second_block.
So they would check "passw0rd1" then "passw0rd2", "passw0rd3" etc.
You can do that if your "passw0rd" is in the first block and a part of it is in the second block, so that your "nonce" is in the right field of the second block, exactly where block header nonce is located, then by mining fake block headers you would mine your passwords instead. In practice, if you can turn your password into correct 80-byte block header, then you can mine it.
But there are many problems related to that:
1) timestamp before nonce is also changed
2) difficulty can be used for some kind of comparison (or a single byte from difficulty, just to know how many bytes in your hash have to be zero)
3) by default, you will not get a password that hashes to some specified hash, but a password that meets the target and where your hash has many leading zero bits
4) your hash is double SHA-256, not single SHA-256
5) you have to turn your password into 80-byte header, if you need only SHA-256(password), then it may be difficult (unless your users use block headers as their passwords)