Without the ability to change the delimiter, the definition is pretty straightforward. Though note that, as egreg says, setting a counter is an assignment, and assignments are not expandable, so you can't use them. You have to increase a number “on the fly” and pass that to the macro, but not as a counter.
The macro itself splits the argument at a | and applies a given function to that, until the end of the loop is reached. Adding a \prg_do_nothing: (and removing it later) takes care of braced items and spaces around the argument. If you need to change the delimiter then the code will get more complicated.
I defined \multiapply<cmd>{<list>} such that it iterates on the |-separated <list> and applies <cmd> to each item. The <cmd> needs to take two arguments: #1 is the number of the item in the list, and #2 is the item itself.

\documentclass{article}
\ExplSyntaxOn
\NewExpandableDocumentCommand \multiapply { m +m }
{ \mbc_multiapply:Nn #1 {#2} }
\cs_new:Npn \mbc_multiapply:Nn #1 #2
{
__mbc_multiapply:nNw { 0 } #1
| \prg_do_nothing: #2 | \q_recursion_tail | \q_recursion_stop
}
\cs_new:Npn __mbc_multiapply:nNw #1 #2 | #3 |
{ \exp_args:Nof __mbc_multiapply:nnN {#3} { \int_eval:n {#1+1} } #2 }
\cs_new:Npn __mbc_multiapply:nnN #1 #2 #3
{
\quark_if_recursion_tail_stop:n {#1}
\exp_not:e { \exp_not:N #3 {#2} { \tl_trim_spaces:n {#1} } }
__mbc_multiapply:nNw {#2} #3 | \prg_do_nothing:
}
\ExplSyntaxOff
\newcommand\decoone[2]{%
Item #1: [(\textbf{#2})]\quad}
\begin{document}
\multiapply\decoone{ 1 | 12 | 123 | 1234 }
\end{document}
|as a delimiter, nor what the output1|12|123|1234is used for. Now we discover that it's probably an intermediate step. Please, avoid piling up questions and disclose *what* you're trying to do. – egreg Aug 06 '20 at 18:13|for macros proposing an unknown numbers of semantic arguments. For example, I have a macro\coordfor coordinates and I just type\coord{x_1}for 1D-space,\coord{x_1 | x_2}for 2D-space\coord{x_1 | x_2 | x_3}for 3D-space and so on... – projetmbc Aug 08 '20 at 17:57tokcycleworks quite well, among other options -- see macros - How to iterate through a token list to make characters uppercase, while preserving spaces? - TeX - LaTeX Stack Exchange – user202729 Nov 09 '21 at 10:46