While I can't take full credit I think this does what you want. The main issue is that it requires my wbDOMData Extender because I couldn't make the WinBatch Global variables work. You get that sorted then you could drop the Extender. Maybe someone here can help with that.
http://www.jtdata.com/anonymous/DomData.zipJim
AddExtender(DirScript():"wbdomdata.dll")
#DefineFunction Price_Check_On_Aisle_5(map, reqLen, s, currLen, check, l, plist)
If(currLen > reqLen)
Return
ElseIf currLen == reqLen
For i = 0 to l-1
If (check[i] == 1) Then
dmStorePush("pcheck",map[i]:"+")
EndIf
Next
dmStorePush("pcheck",@CR)
Return
EndIf
If s == l Then
Return
EndIf
check[s] = 1
Price_Check_On_Aisle_5(map, reqLen, s + 1, currLen + 1, check, l, plist)
check[s] = 0
Price_Check_On_Aisle_5(map, reqLen, s + 1, currLen, check, l, plist)
#EndFunction
price_list = "25,32,23.50,44,10,88"
cnt = ItemCount(price_list,",")
base_price = 10
plist = ""
map = MapCreate()
check = MapCreate()
For x = 0 to cnt-1
map[x] = ItemExtract(x+1,price_list,",")
check[x] = 0
Next
For x = 0 to cnt
plist = Price_Check_On_Aisle_5(map, x, 0, 0, check, cnt, plist)
Next
plist = StrReplace(dmStorePull("pcheck"),"+":@CR,@CR)
chk_price = 67.50
matched = 0
cnt = ItemCount(plist,@CR)
For x = 1 to ItemCount(plist,@CR)
cprice = ItemExtract(x,plist,@CR)
If cprice == "" Then Continue
If %cprice% == chk_price Then
matched = 1
x = 10000
EndIf
Next
If matched Then
Message("Match", chk_price)
Else
Message("Nope","No Match")
EndIf