Using view, return additional data in case needed later?

It sounds to me like you should do two things, however I am not familiar with cloudant, so take it with a grain of salt. I am speaking based in experience with non-cloud based SQL databases.

First, typically adding a single column to a view isn't going to hinder it's performance in any appreciable way. Views are just a logical layer on top of tables, they don't exist on disk separately from the underlying table data. If the column is coming from one of the tables already in the view, there should be no difference in the query plan, so long as you aren't filtering or performing computation on the third column. If not, then performance could be affected depending on the join columns and indexes for the third table.

Secondly, this sounds like something that should be wrapped in a transaction inside a stored procedure. If you use a stored procedure you have the added benefit that you can return whatever you want to the client based on logic inside the stored procedure.

It's best practice to perform tasks like this inside a transaction with locks to avoid potentially operating on logical assumptions that no longer apply to the data when it is deleted.

/r/Database Thread Link - dba.stackexchange.com