First of all: seats are usually displayed as squares. It so happens to be that table cells are also squars. Thats why it's so easy to use a table to show seats.
If you want a more realistic map of a bus, you will first need to make a ground plan of the seats, in which the seat-numbers are put. Then you are able to just simply create a select input into your form which has the seat numbers that are available as options, and put the image of the seats below the input.
A small example:
Please select a seat, the seat numbers are shown in the groundplan below:<br />
(the seats that are already taken will not be shown in the dropdown list)
<img src="bus_groundplan.jpg" alt="Groundplan" border="0" />