How can I edit values in memory? Is it possible to edit values in memory used by an app?  I would assume this requires root.
That may be possible without root if the app you want to manipulate allows debugging via Android Debug Bridge (ADB). If an app can be connected to an debugger is specified in it's AndroidManifest.xml in the android:debuggable entry. 

If the app is enabled for debugging you can enable the USB debugging mode on your device and connect to it via adb. Then you can connect an standard Java debugger to the app and inspect/modify variables.