Part One
plt = ggplot(mapping = aes(x = 1:10, y = 1:10, color = 1:10)) +
geom_point()
ggplot2 lets you add lists of items, so your function may look something like:
myfunc = function(){
list(theme_bw(), scale_color_viridis_c())
}
See now:
patchwork::wrap_plots(plt, plt + myfunc())

Part Two
You can visualise colours using the scales package.
scales::show_col(c("red", "blue", "green"))