The short answer is yes, but with an important condition.
Delta Lake's versioning and Change Data Feed make keyless incremental loads possible by tracking changes at the storage layer rather than the data layer. Every write to a Delta table increments a version number, and CDF exposes metadata columns - _change_type, _commit_version, and _commit_timestamp - on every row that changed in that commit. You read from the last processed version and get exactly what changed, without needing any business key or date column in your actual data.
Structured Streaming takes this further for append-only silver tables - it tracks which files have already been consumed via a checkpoint directory, so the engine handles the incremental logic entirely at the file level. Again, nothing from the data itself is required.
Where it breaks down is upserts. Merging into gold requires something to match on. Without a key, you cannot reliably identify that a row arriving in silver is an updated version of an existing row in gold - you can only know that something changed, not what it corresponds to. In that case, incremental append is still solvable, but a true upsert leaves you with two real options: synthesise a key by hashing all columns and accept that you are tracking row snapshots rather than entities or fall back to a full reload of the affected partition.
So, the boundary to understand before choosing an approach is this - incremental detection without keys is solved by Delta itself. Incremental merge without keys is a data modelling problem, not a platform problem.