This isn't possible in the general case; IP addresses and MAC addresses have a many-to-many relationship (most interfaces have multiple IP addresses, and a single IP address can be bound to multiple MACs, though this latter is usually in a load-balancing scenario).
The InARP protocol is available on Frame Relay, but is not applicable to Ethernet.
The closest you can get--and this is unreliable for a number of reasons--is to broadcast ping the subnet the target computer is on after giving it time to wake up. You can then inspect the ARP cache on the local computer to find a matching entry.