If you want arbitrary length lists it's more convenient to use commas as separators:
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\extractitem}{smm}
{
\IfBooleanTF{#1}
{
\clist_item:Vn #3 { #2 }
}
{
\clist_item:nn { #3 } { #2 }
}
}
\cs_generate_variant:Nn \clist_item:nn { V }
\ExplSyntaxOff
\begin{document}
\newcommand{\mylist}{1,2,3,4,5}
\extractitem{2}{1,2,3,4,5}
\extractitem*{4}{\mylist}
\end{document}
If you insist on slashes, you need to duplicate the code for \clist_item:nn.
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\cs_new:Npn \kevin_slashlist_item:nn #1#2
{
\kevin__slashlist_item:ffnN
{ \kevin_slashlist_count:n {#1} }
{ \int_eval:n {#2} }
{#1}
\kevin__slashlist_item_n:nw
}
\cs_new:Npn \kevin__slashlist_item:nnnN #1#2#3#4
{
\int_compare:nNnTF {#2} < 0
{
\int_compare:nNnTF {#2} < { - #1 }
{ \use_none_delimit_by_q_stop:w }
{ \exp_args:Nf #4 { \int_eval:n { #2 + 1 + #1 } } }
}
{
\int_compare:nNnTF {#2} > {#1}
{ \use_none_delimit_by_q_stop:w }
{ #4 {#2} }
}
{ } / #3 / \q_stop
}
\cs_generate_variant:Nn \kevin__slashlist_item:nnnN { ffo, ff }
\cs_new:Npn \kevin__slashlist_item_n:nw #1
{ \kevin__slashlist_item_n_loop:nw {#1} \prg_do_nothing: }
\cs_new:Npn \kevin__slashlist_item_n_loop:nw #1 #2/
{
\exp_args:No \tl_if_blank:nTF {#2}
{ \kevin__slashlist_item_n_loop:nw {#1} \prg_do_nothing: }
{
\int_compare:nNnTF {#1} = 0
{ \exp_args:No \kevin__slashlist_item_n_end:n {#2} }
{
\exp_args:Nf \kevin__slashlist_item_n_loop:nw
{ \int_eval:n { #1 - 1 } }
\prg_do_nothing:
}
}
}
\cs_new:Npn \kevin__slashlist_item_n_end:n #1 #2 \q_stop
{ \tl_trim_spaces_apply:nN {#1} \kevin__slashlist_item_n_strip:n }
\cs_new:Npn \kevin__slashlist_item_n_strip:n #1 { \kevin__slashlist_item_n_strip:w #1 / }
\cs_new:Npn \kevin__slashlist_item_n_strip:w #1 / { \exp_not:n {#1} }
\cs_new:Npx \kevin_slashlist_count:n #1
{
\exp_not:N \int_eval:n
{
0
\exp_not:N \kevin__slashlist_count:w \c_space_tl
#1 \exp_not:n { / \q_recursion_tail / \q_recursion_stop }
}
}
\cs_new:Npn \kevin__slashlist_count:n #1 { + 1 }
\cs_new:Npx \kevin__slashlist_count:w #1 /
{
\exp_not:n { \exp_args:Nf \quark_if_recursion_tail_stop:n } {#1}
\exp_not:N \tl_if_blank:nF {#1} { + 1 }
\exp_not:N \kevin__slashlist_count:w \c_space_tl
}
\NewExpandableDocumentCommand{\slashlistitem}{smm}
{
\IfBooleanTF{#1}
{
\kevin_slashlist_item:Vn #3 { #2 }
}
{
\kevin_slashlist_item:nn { #3 } { #2 }
}
}
\cs_generate_variant:Nn \kevin_slashlist_item:nn { V }
\ExplSyntaxOff
\begin{document}
\newcommand{\mylist}{1/2/3/4/5}
\slashlistitem{2}{1/2/3/4/5}
\slashlistitem*{4}{\mylist}
\end{document}
Both example documents print the same.

1/2/3but you have shown backslashes, there is a big difference as1/2/3is 5 tokens, the digits 1,2,3 separated by/, but1\2\3is three tokens, the digit 1 the command named\2and the command named\3– David Carlisle May 14 '18 at 13:10