You can either use a pattern to find it or you can use olly to find it.
You need to understand how virtual functions are stored to find the device.
Set a breakpoint on Direct3DCreate9, the return is an instance to a class which contains the function CreateDevice, the last parameter is IDirect3DDevice9, that's what you're looking for. (:
There's a correct order of operations for everything.