when i send a transaction to a bitcoin node how can the node know that my address exists and where in the chain my address is? does it do a verification? how does it know that I have the funds knowing that it does not index the addresses
Transactions don't actually contain addresses.
A Bitcoin address is really more like an invoice reference number created by the intended recipient of the money.
The address value allows the senders wallet to construct a transaction that contains an output for that recipient. The output has a bitcoin script, a small program written in Bitcoin scripting language. This script is sometimes called the locking script and it ensures only the recipient can later spend that money. The script is created from the number we call an address.
So other nodes don't ever see actual addresses and don't need to check output addresses. They don't really care about outputs although they do keep a list of unspent outputs (UTXOs). It is only some time later (if ever) when that output is reference as an input to a later transaction that nodes will check the unlocking script produces the right values to satisfy the locking script.
The Bitcoin network doesn't keep track of your total funds or balance. Bitcoin nodes neither know or care about how much money you have. They only care about whether the coins being spent are genuine. Just like the owner of a coffee shop doesn't need to know your bank balance they just check the coins and banknotes you gave them look and feel real.
Bitcoin nodes check that the transaction inputs are not already spent. Each input should be a reference to a UTXO from some prior transaction.