It is possible to publish a web service in Sandbox, however all Sandbox cloud nodes stop running after three hours without activity. The app remains down until someone attempts to log in again. This means a web service call made after a long period of inactivity may return a 'not found' error.
Yes it is but only if you run the app locally or in the sandbox. Therefore you can publish it but it is very restricted.