If I understand this phrase correctly:
[I] am looking to extract the data from all columns associated with the longest sequence of non-NA rows for one particular column
You have a column of interest, call it WANT, and are looking to isolate all columns from the single row of data with the highest consecutive non-NA values in WANT.
Example data
df <- data.frame(A = LETTERS[1:10],
                 B = LETTERS[1:10],
                 C = LETTERS[1:10],
                 WANT = LETTERS[1:10],
                 E = LETTERS[1:10])
set.seed(123)
df[sample(1:nrow(df), 2), 4] <- NA
#   A B C WANT E
#1  A A A    A A
#2  B B B    B B
#3  C C C <NA> C
#4  D D D    D D
#5  E E E    E E
#6  F F F    F F
#7  G G G    G G
#8  H H H    H H
#9  I I I    I I # want to isolate this row (#9) since most non-NA in WANT
#10 J J J <NA> J
Here you would want all I values as it is the row with the longest running non-NA values in WANT.
If my interpretation of your question is correct, we can extend the excellent answer found here to your situation. This creates a data frame with a running tally of consecutive non-NA values for each column.
The benefit of using this is that it will count consecutive non-NA runs across all columns (of any type, ie character, numeric), then you can index on whatever column you want using which.max()
# from @jay.sf at https://stackoverflow.com/questions/61841400/count-consecutive-non-na-items
res <- as.data.frame(lapply(lapply(df, is.na), function(x) {
  r <- rle(x)
  s <- sapply(r$lengths, seq_len)
  s[r$values] <- lapply(s[r$values], `*`, 0)
  unlist(s)
}))
# index using which.max()
want_data <- df[which.max(res$WANT), ]
#> want_data
#  A B C WANT E
#9 I I I    I I
If this isn't correct, please edit your question for clarity.