Step 1: understand that I2C (and SPI and UART and similar) transfer/exchange values but put no interpretation on what those values mean. Typically I2C will transfer bytes.
Step 2: you need to determine how you want to use the I2C mechanism to transfer your 'numbers'. Perhaps the numbers are 8, 16 or 32 bit integers in which case you use I2C to transfer 1, 2 or 4 bytes respectively. Perhaps the numbers are strings (as you suggest in your question) in which case you send however many bytes (assuming each character in the string is a byte and not UTF-16 and the like) make up the string - also remembering you may need some additional means to signal that the last byte has been sent such as a NULL value or have all of the bytes in some order within a single I2C transaction.
Step 3: write the appropriate code in your NodeMCU and your Arduino in whatever language you want to use in each.
Susan