The solution requires the custom column of the watchlist be set to daily time frame.
The date is adjusted through a user input named "targetDate". This date is applied to every stock in the watchlist. There is no way to apply different dates to different tickers within the watchlist.
There is no way for columns within a watchlist to read data from other columns. (only the ticker symbol is read by the code in a custom column). What does that mean? It means there is no need to display the target date as a separate column. However if you really want to display that you need to keep in mind that whatever value is displayed there cannot be read by any other columns in the watchlist AND the date will need to be kept up to date by manually adjusting it in each of the custom columns in your watchlist. Here is the signal line of code to display the date (or any other text) in a custom column:
Here is the code to display your two values. Notice that there are two plot statements and only one is permitted within a custom column. You will need to add two custom columns to the watchlist and copy this code into each. You will then move the "#" symbol to display the one value that you want to display for each. The first displays the net change and the last line displays the percent change:
input targetDate = 20200901;
def targetBar = DaysFromDate(targetDate) == 0;
rec targetClose = if targetBar then close else targetClose;
#plot data = close - targetClose;
plot data = 100 * (close / targetClose - 1);
Final note and VERY important. The date you enter for the user input named "targetDate" must be a date the markets were open for regular trade. If you select a date that markets were closed the code will fail.